← Library
Pine Script v6 · Strategy · TradingView V2 — 8AM Reversal Model

IRON-SIGHT-V2

ICT/Smart Money Reversal Strategy — 8AM Manipulation Range · Liquidity Sweep · IFVG Entry

File: Iron_sight_v2.pine Type: strategy() — backtestable Capital: $100,000 initial Direction: Long & Short Session: 9AM–12PM NY Created: Apr 16, 2026

Overview

IRON-SIGHT-V2 is an ICT / Smart Money Concepts (SMC) based reversal strategy targeting the 8AM–9AM New York session manipulation range. It identifies when institutional players sweep liquidity at key levels, then enters on an Inverted Fair Value Gap (IFVG) confirmation as price reverses.

The strategy is structured as three named subsystems: OVERWATCH (HTF data), VANGUARD (execution engine), and SENTINEL (risk management), reflecting a modular, ops-style architecture.

OVERWATCH
HTF Telemetry
Prev Day H/L · 1H Data
VANGUARD
Execution Engine
Long & Short Entries
SENTINEL
Risk Management
TP / SL Exits

Session Timeline (New York Time)

8:00 AM — Range Opens
Script begins tracking the 8AM manipulation range. Every bar during this hour updates the range high and low.
9:00 AM — NY Cash Open / Range Closes
8AM range is locked. VANGUARD execution window opens. The strategy monitors for liquidity sweeps above/below the captured range.
9:00 AM – 12:00 PM — Active Trading Window
All entry conditions are evaluated here. No new entries are permitted after 12PM.
12:00 PM — Window Closes
No new positions initiated. Open positions managed by SENTINEL until TP or SL is hit.
Timezone Setting All times are in America/New_York. This is configurable via the Mission Timing input group. Ensure your chart timezone matches or the session hours will be offset.

Core Concepts Explained

8AM Manipulation Range

The hour from 8AM–9AM NY is commonly used by institutional traders to manipulate price — sweeping above prior highs or below prior lows to trigger retail stop orders and build liquidity. The script captures the full high-to-low range of this hour and plots it as cyan lines on the chart.

Liquidity Sweep Detection

A high sweep occurs when price crosses above the previous day's high or the 8AM range high. A low sweep occurs when price crosses below the previous day's low or the 8AM range low. These events are marked with triangle shapes on the chart.

Inverted Fair Value Gap (IFVG)

A Fair Value Gap (FVG) is a 3-bar imbalance where candle 1 and candle 3 do not overlap. An Inverted FVG (IFVG) occurs when price re-enters that gap from the opposite side — signaling that the original imbalance has been "filled" and a reversal is likely.

TypeOriginal FVGIFVG SignalBias
Bullish IFVG Bearish gap (high[0] < low[2]) Price closes back above that gap Long
Bearish IFVG Bullish gap (low[0] > high[2]) Price closes back below that gap Short

Entry & Exit Logic

Long Entry — VANGUARD_LONG

Can Trade
(9AM–12PM)
+
Low Swept
(prior bar)
+
IFVG Long
confirmed
BUY
VANGUARD_LONG

Short Entry — VANGUARD_SHORT

Can Trade
(9AM–12PM)
+
High Swept
(prior bar)
+
IFVG Short
confirmed
SELL
VANGUARD_SHORT
One Position at a Time Entries are only placed when strategy.position_size == 0. The strategy will not add to an existing position or flip directly from long to short without first being flat.

SENTINEL — Risk Management

ParameterDefaultDescription
Take Profit400 ticksDistance in ticks from entry to TP. Adjust for your instrument's tick size.
Stop Loss Buffer50 ticksDistance in ticks from entry to SL. Tight by design — the sweep/IFVG setup has a defined invalidation point.
Exit Comment"TP/SL Hit"Label shown in strategy tester when position closes
Tick Size Calibration Required The TP (400 ticks) and SL (50 ticks) default values are instrument-agnostic. You must calibrate these to your specific market. For example, on ES futures (0.25 tick = $12.50), 400 ticks = 100 points. On NQ, the same tick count represents a very different dollar value. Always verify in the Strategy Tester before going live.

Higher Timeframe Data — OVERWATCH

Data SourceVariableUsage
Previous Day High prev_day_high Liquidity sweep detection — high sweep triggers short bias
Previous Day Low prev_day_low Liquidity sweep detection — low sweep triggers long bias
1H Highs/Lows htf_high / htf_low Fetched via request.security("60") — available for future order block logic
Note on lookahead_on Previous day data uses barmerge.lookahead_on to ensure the prior day's high/low is available at the start of the current session. This is correct for live trading but may create minor bias in backtesting on historical data. Results should be validated on live/paper.

Chart Visuals

ElementStyleDescription
8AM Range HighCyan dashed lineUpper boundary of the 8AM manipulation range
8AM Range LowCyan dashed lineLower boundary of the 8AM manipulation range
High Sweep markerRed triangle (above bar)Marks bars where a high-side liquidity sweep occurred
Low Sweep markerGreen triangle (below bar)Marks bars where a low-side liquidity sweep occurred
Entry markersTradingView defaultStrategy engine auto-marks long/short entries in the tester

Alert Messages — JSON Payload

V2 sends separate payloads for long and short entries, with richer metadata than V1:

Long Entry (BUY)

{ "secret": "tac_com_alpha_9", "model_id": "IRON-SIGHT-V2", "ticker": "CME_MINI:ES1!", "action": "BUY", "price": 5243.50, "metadata": { "tier": "8AM_REVERSAL", "liquidity": "Low_Sweep", "note": "IFVG Confirmed", "timestamp": 1745000000000 } }

Short Entry (SELL)

{ "secret": "tac_com_alpha_9", "model_id": "IRON-SIGHT-V2", "ticker": "CME_MINI:ES1!", "action": "SELL", "price": 5260.25, "metadata": { "tier": "8AM_REVERSAL", "liquidity": "High_Sweep", "note": "IFVG Confirmed", "timestamp": 1745000000000 } }

Manual Test Payload (FORCE MANUAL TRIGGER)

{ "secret": "tac_com_alpha_9", "model_id": "IRON-SIGHT-V2", "ticker": "CME_MINI:ES1!", "action": "TEST", "price": 5243.50, "metadata": { "note": "MANUAL_TRIGGER", "timestamp": 1745000000000 } }
FieldDescription
secretAuth token — NIGHTHAWK returns 401 Unauthorized if missing or wrong
model_idMust match the model_id in the SENTINEL models table exactly
tickerTradingView full symbol ID (syminfo.tickerid) including exchange prefix
actionBUY, SELL, or TEST
priceClose price at the entry bar
metadata.tierStrategy classification — always "8AM_REVERSAL" in V2
metadata.liquidityWhich side was swept — Low_Sweep triggers long, High_Sweep triggers short
metadata.noteConfirmation type — always "IFVG Confirmed"
metadata.timestampUnix millisecond timestamp from TradingView's timenow

On-Screen Go/No-Go Dashboard

A 7-row table in the top-right corner updates on every final bar. All six conditions must be satisfied for a valid entry signal.

IRON-SIGHT-V2
Status
8AM Range Set
Liquidity Swept
IFVG Confirmed
Trading Window
Sweep Direction
Low
Signal Bias
WAIT
RowConditionGreen When
8AM Range Setnot na(range_8am_high) and not na(range_8am_low)8AM hour has passed and range is captured
Liquidity Sweptswept_high or swept_lowPrice crossed a key level during or after 8AM
IFVG Confirmedifvg_long or ifvg_shortAn IFVG pattern is present on the current bar
Trading Windowcan_trade (hour ≥ 9 and < 12)Current NY time is within the execution window
Sweep DirectionText displayShows "Low" (long bias) or "High" (short bias)
Signal Biaslong_condition / short_conditionShows LONG or SHORT when all conditions align

Manual Test Block — FORCE MANUAL TRIGGER

Found in the Execution Logic settings group. When toggled ON, fires a TEST payload via alert() on the next bar close. Used to verify the full NIGHTHAWK pipeline without waiting for a live signal.

Two Different Alert Types — Separate TradingView Alerts Required
  • Production signal (strategy.entry(alert_message=...)): alert condition = Order fills
  • Manual test (alert()): alert condition = Any alert() function call

All Configurable Inputs

GroupParameterDefaultNotes
Mission Timing8AM Range Start Hour8Hour in NY time when range tracking begins
Mission Timing8AM Range End (NY Open)9Hour when trading window opens and range locks
Mission TimingTimezoneAmerica/New_YorkMust match your target session
Execution LogicRequire IFVG for EntrytrueIf false, VANGUARD enters on sweep alone (less selective)
Execution LogicTake Profit (Ticks)400Calibrate to your instrument's tick value
Execution LogicStop Loss Buffer (Ticks)50Tight SL — assumes precise entry on IFVG confirmation
Execution LogicFORCE MANUAL TRIGGERfalseToggle ON to fire a TEST webhook for pipeline verification
MES-Calibrated Version Available If trading Micro E-mini S&P 500 Futures (MES1!), use IRON-SIGHT-V2.1 instead. It uses TP=160 ticks (40 pts / $200) and SL=50 ticks (12.5 pts / $62.50) — a realistic 3.2:1 R:R for intraday MES sessions. See the V2.1 reference page.

TradingView Setup

  1. Open a chart on your target instrument. Recommended: 5-minute or 15-minute chart for intraday 8AM setups.
  2. Open Pine Editor (Alt+P), clear existing code, paste Iron_sight_v2.pine, click Add to chart.
  3. In the indicator settings (⚙️), verify the timezone is America/New_York and adjust TP/SL ticks for your instrument.
  4. Open the Strategy Tester tab to review backtest performance before going live.
  5. To activate alerts: hover over indicator name → ···Add alert.
  6. The alert will fire separately for long and short entries, each with its own JSON payload.
  7. Set Webhook URL if routing to NIGHTHAWK or another automation endpoint.