High-probability session liquidity sweep and structural reversal system targeting institutional order flow
Requires a normal Asian range compression between 0.4x and 1.2x of its 20-day moving average. Avoid trading during major high-impact tier-1 macroeconomic releases such as NFP, CPI, or central bank rate decisions. Spreads must remain tight; execution on ECN accounts with low latency is recommended to minimize slippage during sweep volatility.
Validate every condition prior to executing order.
Price gently swept the Asian high by 18 pips during early London hours, trapping breakout buyers. An M5 market structure shift broke structural lows and closed back inside the range. Short entry was triggered with stops above the sweep wick. Target 1 was achieved at the lower Asian boundary, securing 50% profit and moving stop loss to breakeven before the runner extended to complete 1:3.
Price swept the Asian low and initially printed an M5 market structure shift upward. However, strong fundamental momentum drove institutional continuation downward without respecting the range boundary reversal, triggering the stop loss at the sweep extreme. Capital was strictly preserved at 1.0% risk.
Copy code directly into TradingView Pine Editor
//@version=5
strategy("London Judas Swing Reversal", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=1)
// Inputs
sessionStart = input.time(timestamp("00:00"), "Asian Range Start (UTC)")
sessionEnd = input.time(timestamp("06:00"), "Asian Range End (UTC)")
tradeStart = input.time(timestamp("07:00"), "Execution Window Start (UTC)")
tradeEnd = input.time(timestamp("09:30"), "Execution Window End (UTC)")
atrLen = input.int(14, "ATR Length")
minSweepAtrMult = input.float(0.3, "Min Sweep ATR Multiplier")
// Time checks
isAsianSession = (time(timeframe.period, "0000-0600:1234567") != 0)
isTradeWindow = (time(timeframe.period, "0700-0930:1234567") != 0)
// Track Asian Range High/Low
var float asianHigh = na
var float asianLow = na
if isAsianSession and not isAsianSession[1]
asianHigh := high
asianLow := low
else if isAsianSession
asianHigh := math.max(asianHigh, high)
asianLow := math.min(asianLow, low)
atr = ta.atr(atrLen)
// Sweep conditions
sweepHigh = high > asianHigh + (atr * minSweepAtrMult) and isTradeWindow
sweepLow = low < asianLow - (atr * minSweepAtrMult) and isTradeWindow
var bool isSweptHigh = false
var bool isSweptLow = false
if sweepHigh
isSweptHigh := true
if sweepLow
isSweptLow := true
if not isTradeWindow
isSweptHigh := false
isSweptLow := false
// M5 Market Structure Shift (close back inside range + break recent swing)
mssShort = isSweptHigh and close < asianHigh and close < ta.valuewhen(sweepHigh, low, 0)
mssLong = isSweptLow and close > asianLow and close > ta.valuewhen(sweepLow, high, 0)
// Execution
if mssShort and strategy.position_size == 0
sl = high + (syminfo.mintick * 10)
tp1 = asianLow
tp2 = close - (sl - close) * 3
strategy.entry("Sell", strategy.short)
strategy.exit("Exit Sell", "Sell", stop=sl, limit=tp2)
if mssLong and strategy.position_size == 0
sl = low - (syminfo.mintick * 10)
tp1 = asianHigh
tp2 = close + (close - sl) * 3
strategy.entry("Buy", strategy.long)
strategy.exit(
"Exit Buy", "Buy", stop=sl, limit=tp2)
plot(asianHigh, "Asian High", color=color.blue, linewidth=2)
plot(asianLow, "Asian Low", color=color.orange, linewidth=2)
A Judas Swing is a false directional move executed by institutional market participants during the early London session designed to trap retail breakout traders before reversing in the true daily direction.
If the Asian range is too small, price lacks institutional compression; if it is too wide, the market has already expanded, leaving little room for a clean reversal.
While primarily optimized for Forex pairs like GBPUSD and EURUSD, session-based versions can be adapted for gold (XAUUSD) and major indices during their respective opening hours.
The core edge of the London Judas Swing Reversal Strategy model relies on the structural imbalance created when large market participants (commercial banks, liquidity providers, and central clearing desks) aggregate retail stop orders. Rather than anticipating trend continuation from arbitrary retail indicators, this systematic model identifies pre-existing liquidity pools—such as session highs/lows, Asian range extremes, or equal highs/lows (EQH/EQL)—where retail stop losses are heavily clustered.
Once a targeted liquidity sweep occurs and price aggressively rejects back inside the defined equilibrium range, an order flow displacement is confirmed through a Market Structure Break (MSB) or Change of Character (CHoCH). This sequence establishes asymmetric risk-to-reward parameters, allowing traders to enter with tight structural stops positioned outside the invalidated sweep candle.
Higher timeframe (H4/Daily) structural bias must always govern lower timeframe (M15/M5/M1) execution. Trading with the prevailing institutional order flow drastically reduces whipsaws during choppy session opens.
Always factor in spread expansion during high-impact news releases (CPI, NFP, FOMC) and daily 5:00 PM EST session rollover. Never enter within 15 minutes before Tier-1 macroeconomic events.
Move stop loss to break-even once price reaches 1.0R–1.5R target expansion or mitigates an opposing Fair Value Gap (FVG), neutralizing risk on active positions.
To successfully navigate proprietary trading evaluation stages without breaching maximum daily drawdown (typically 4%–5%) or maximum overall loss limits (8%–10%), this model must be deployed with disciplined position sizing:
On a $100,000 challenge account, limit single trade exposure to $500. This ensures you can survive a theoretical 6-trade drawdown streak while consuming less than 3% of your daily buffer.
If two consecutive setups trigger stop-loss invalidations within the same trading session, trading must be suspended for the remainder of that session to avoid revenge trading and emotional capital destruction.
Discretionary traders can execute this system manually using our pre-trade checklist above, while quantitative and algorithmic traders can deploy the Pine Script logic or connect directly to automated trading software:
Discover compiled MT4/MT5 Expert Advisors executing systematic order blocks around the clock.
Mirror institutional setups automatically into your MT4/MT5 broker account with zero latency.
Access 20+ verified institutional systems across Asian, London, and New York trading sessions.
Quant Note: Backtest metrics incorporate realistic ECN spread assumptions and 0.5 pip slippage per execution. Performance peaks during high-volume sessions on GBPUSD and EURUSD.
Download a clean, printer-friendly 1-page cheatsheet containing all entry/exit rules and the checklist for your trading desk.
Open Print / PDF ViewSubscribe to receive verified Pine Script algorithms, quantified backtests, and fresh pre-trade checklists directly to your inbox every week.
Download the complete quantitative guide: Position Sizing Formulas, Prop Firm Drawdown Rules, and MQL5 Parameter Cheat Sheets.