ICT / SMC · Futures v2 · OBSERVATION

TRNQL_8AMsweep.v2

NQ Sig Levels on MNQ — Multi-Timeframe Key Level Map + 8AM Range Sweep Signal Engine

model_id: TRNQL_8AMsweep.v2 Instrument: MNQ1! Recommended TF: 5m Signal Window: 9:30 AM – 12:00 PM NY Pine Version: v6 Developer: Christopher Casella · S3 Dev Status: OBSERVATION

1. Overview

TRNQL_8AMsweep.v2 is a TradingView Pine Script v6 overlay indicator for MNQ1! (Micro Nasdaq Futures) on the 5-minute chart. It serves two functions:

  1. Key Level Map — draws and merges Monthly, Weekly, Daily, and 4-Hour High/Low/50% levels sourced directly from the NQ1! contract, updated live on every bar.
  2. 8AM Range Sweep Engine — detects liquidity sweeps of the 8:00–9:00 AM NY range using 1-minute intrabar data and fires BUY/SELL/CONTINUATION signals during the 9:30 AM–12:00 PM NY signal window.
Sentinel Status: OBSERVATION. All signals require manual review before execution. No automated order routing is active in this version.
ParameterValue
Indicator NameNQ Sig Levels on MNQ
model_idTRNQL_8AMsweep.v2
InstrumentMNQ1! — Micro Nasdaq Futures
Tick Size0.25 NQ points
Tick Value$0.50 per tick / per contract
Recommended Timeframe5m (chart TF must be >1m for alert eval)
Signal Window9:30 AM – 12:00 PM New York
Data SourceNQ1! via request.security; 1-min intrabars via request.security_lower_tf

2. Key Level Map

The indicator plots up to 15 structural levels sourced from NQ1! across four timeframes. Levels within a configurable Merge Threshold (default: 5 NQ points) are merged into a single averaged line to reduce clutter.

Timeframe Coverage

TimeframeLevels DrawnDefault ColorLine Width
MonthlyHigh, Low, 50% (Equilibrium)#9C27B0 / #CE93D83
WeeklyHigh, Low, 50%#FF9800 / #FFB74D2
DailyHigh, Low, 50%#2196F3 / #64B5F62
4-HourHigh, Low, 50%#FFEB3B / #FFF1761
8AM RangeHigh, Low (box + extended lines)#00E5FF2
7AM PoolHigh, Low (dotted)#FF6D001

7AM Liquidity Pool

The indicator tracks the high and low of the 7:00–7:59 AM New York hour each day as a take-profit reference level. BUY signals target the 7AM Pool High; SELL signals target the 7AM Pool Low. If the pool is not yet formed at signal time, the opposite end of the 8AM range is used as a fallback TP.

8AM Range Box

The 8:00–9:00 AM NY session is captured using 1-minute intrabar data (request.security_lower_tf). The resulting high/low is displayed as a shaded box extended 2 hours post-range close to provide a visible manipulation zone reference throughout the signal window.

Merge Engine

All structural levels are collected into sorted arrays and grouped by proximity. Any levels within the Merge Threshold (default 5 pts) are averaged into one line with a combined label showing all contributing levels. The highest-priority timeframe determines the merged line's color.

3. Signal Engine

All four signals are evaluated on 1-minute intrabars so they fire on any chart timeframe at or above 1m. The signal window is strictly 9:30 AM – 12:00 PM New York. Each signal type fires at most once per session (reset at each new 8AM candle).

Priority order (overlap prevention): BUY (1) > SELL (2) > BUY CONT. (3) > SELL CONT. (4). Only the highest-priority signal is displayed when multiple conditions trigger on the same bar.
Signal Trigger Condition Shape Action
8AM BUY 1-min low sweeps below 8AM range low AND 1-min close returns above 8AM range low Triangle Up (below bar) Long entry
8AM SELL 1-min high sweeps above 8AM range high AND 1-min close returns below 8AM range high Triangle Down (above bar) Short entry
8AM BUY CONT. After a valid BUY: price pulls back below 8AM high, then 1-min close reclaims above 8AM high within 30 bars Diamond (below bar) Continuation long — DISCRETIONARY
8AM SELL CONT. After a valid SELL: price pulls back above 8AM low, then 1-min close breaks back below 8AM low within 30 bars Diamond (above bar) Continuation short — DISCRETIONARY
[DISC] — Discretionary flag: BUY CONT. and SELL CONT. signals require manual confirmation before acting. They are not included in backtested performance metrics.

Previous Session Signals

When Show Previous Session Signals is enabled (default ON), prior-day BUY and SELL signals are re-plotted at their original bar and price using faded labels. This provides a visual audit trail without cluttering the current session.

4. TP / SL / Risk Management

The indicator calculates and displays TP and SL levels on the signal label at the time of each BUY or SELL fire.

ParameterBUYSELL
Take Profit (primary) 7AM Pool High (sevenH) 7AM Pool Low (sevenL)
Take Profit (fallback) 8AM Range High (eightH) 8AM Range Low (eightL)
Stop Loss Sweep wick low − 1 tick (sigBuySL) Sweep wick high + 1 tick (sigSellSL)
R:R displayed Calculated live: (TP − close) / (close − SL)
TP Fallback: The 7AM liquidity pool is used as TP only if it is fully formed (session ended) and the pool level is on the opposing side of the current price. If not, the script falls back to the opposite 8AM range boundary.

5. Macro No-Trade Filter

A 2-layer gate suppresses all signals on high-impact macro days. When noTradeDay = true, no BUY, SELL, or CONT. signals fire and a visual warning is displayed.

LayerMethodStatus
Layer 1 — Manual Blocklist Hardcoded date match in script source. Update monthly by the developer. Active (empty by default — no dates currently blocked)
Layer 2 — Range Expansion Proxy Auto-detect if 8AM range > 2x rolling average (macro event proxy). Deferred — re-enabled after baseline alert testing passes

Signal Window Filter

All signals are gated to the 9:30 AM – 12:00 PM New York window via time(timeframe.period, "0930-1200", "America/New_York"). No signals fire outside this window regardless of filter state.

6. Alerts & Webhook

The script fires dynamic JSON payloads via alert() at alert.freq_once_per_bar_close on confirmed bars. Payloads are structured for Phantom / Vanguard receiver compatibility.

BUY Payload

{"secret":"tac_com_alpha_9","model_id":"TRNQL_8AMsweep.v2","ticker":"MNQ1!","action":"BUY","price":<close>, "metadata":{"sl":<sl>,"tp":<tp>,"tier":"8AM_SWEEP_REVERSAL", "note":"8AM low swept — 7AM pool TP","timestamp":<timenow>}}

SELL Payload

{"secret":"tac_com_alpha_9","model_id":"TRNQL_8AMsweep.v2","ticker":"MNQ1!","action":"SELL","price":<close>, "metadata":{"sl":<sl>,"tp":<tp>,"tier":"8AM_SWEEP_REVERSAL", "note":"8AM high swept — 7AM pool TP","timestamp":<timenow>}}

CONT. Payload (BUY & SELL)

{"secret":"tac_com_alpha_9","model_id":"TRNQL_8AMsweep.v2","ticker":"MNQ1!","action":"BUY_CONT","price":<close>, "metadata":{"tier":"8AM_CONTINUATION", "note":"DISCRETIONARY — manual confirm required","timestamp":<timenow>}}

Alert Conditions (TradingView UI)

Alert NameTrigger
8AM BUY SignalBUY condition confirmed
8AM SELL SignalSELL condition confirmed
8AM BUY CONT. SignalBUY CONT. [DISC] confirmed
8AM SELL CONT. SignalSELL CONT. [DISC] confirmed
Tap Monthly High/Low/50%Price bar touches NQ monthly level
Tap Weekly High/Low/50%Price bar touches NQ weekly level
Tap Daily High/Low/50%Price bar touches NQ daily level
Tap 4H High/Low/50%Price bar touches NQ 4H level

Manual Test Trigger

Enable FORCE MANUAL TRIGGER in Inputs > Testing and set the TradingView alert to Once Per Bar to fire a test webhook payload to Phantom/Vanguard without waiting for a live signal.

7. Input Reference

Source

InputDefaultDescription
NQ SymbolNQ1!Futures contract to source level data from
Merge Threshold (points)5.0Levels within this NQ point distance are merged into one line

Timeframes

InputDefault
Monthly LevelsON
Weekly LevelsON
Daily LevelsON
4-Hour LevelsON
8AM NY RangeON
7AM Liquidity Pool (TP Reference)ON

Signal Groups

GroupInputs
8AM BUYShow toggle, color, alert enable
8AM SELLShow toggle, color, alert enable
8AM BUY CONT.Show toggle, color (#00E676), alert enable
8AM SELL CONT.Show toggle, color (#FF1744), alert enable

Signal Display

InputDefaultDescription
Signal Distance From Candle2ATR offset multiplier to prevent labels overlapping candles
Show Previous Session SignalsONRe-plots prior session BUY/SELL at their original candle in faded color

Webhook

InputDefaultDescription
Webhook Secrettac_com_alpha_9Must match Phantom/Vanguard receiver key

Testing

InputDefaultDescription
FORCE MANUAL TRIGGEROFFToggle ON + set alert to Once Per Bar to fire a test webhook