High-probability algorithmic time-based FVG and liquidity sweep strategy during the London open
Requires a clear prior Asian range structure or overnight consolidation to establish liquidity boundaries. Best traded on days with medium-to-high Average Daily Range (ADR). Avoid trading during high-impact USD or EUR fundamental news releases (e.g., FOMC, ECB Rate Decisions, CPI, NFP) within 30 minutes of the Silver Bullet window to prevent wide spreads and slippage.
Validate every condition prior to executing order.
At 08:15 UTC, price wicked above the Asian session high, grabbing resting buy stops. Immediately following the sweep, a strong bearish engulfing candle broke market structure downward, leaving a clean M15 FVG between 1.08530 and 1.08570. A limit sell order placed at 1.08550 was triggered during the retracement at 08:45 UTC. Price aggressively dropped to hit the 1:2 target within 45 minutes.
Price swept the Asian low at 08:30 UTC, but the subsequent candle lacked strong momentum and failed to break structure. Despite a small FVG forming, the lack of institutional displacement meant order flow was uncommitted. Price retested the FVG, triggered the buy limit at 1.08200, and continued sliding down to hit the stop loss at 1.08270.
Copy code directly into TradingView Pine Editor
//@version=5
strategy("ICT Silver Bullet London Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=1)
// Inputs
sessionTime = input.session("0800-1000:1234567", "London Silver Bullet Session (UTC)")
useRiskFilter = input.bool(true, "Avoid High Impact News Times")
slPips = input.float(7.0, "Stop Loss Buffer (Pips)")
rrRatio = input.float(2.0, "Risk to Reward Ratio")
// Time check
inSession = not na(time(timeframe.period, sessionTime, "UTC"))
// Identify Session Range (Asian High/Low as reference)
var float asianHigh = na
var float asianLow = na
newDay = ta.change(time("D")) != 0
if newDay
asianHigh := high
asianLow := low
else
asianHigh := math.max(nz(asianHigh, high), high)
asianLow := math.min(nz(asianLow, low), low)
// Plot Session Box
var box sessionBox = na
if inSession and not inSession[1]
sessionBox := box.new(bar_index, high, bar_index, low, color=color.new(color.blue, 90), border_color=color.blue)
else if inSession
box.set_right(sessionBox, bar_index)
// FVG Detection Logic
fvgBullish = low > high[2] and close[1] > high[2]
fvgBearish = high < low[2] and close[1] < low[2]
// Execution Logic
longCondition = inSession and fvgBullish and close > open
shortCondition = inSession and fvgBearish and close < open
if longCondition and strategy.position_size == 0
entryPrice = close
slPrice = entryPrice - (slPips * 0.0001)
tpPrice = entryPrice + ((entryPrice - slPrice) * rrRatio)
strategy.entry("SilverBullet LE", strategy.long)
strategy.exit("Exit LE", "SilverBullet LE", stop=slPrice, limit=tpPrice)
if shortCondition and strategy.position_size == 0
entryPrice = close
slPrice = entryPrice + (slPips * 0.0001)
tpPrice = entryPrice - ((slPrice - entryPrice) * rrRatio)
strategy.entry("SilverBullet SE", strategy.short)
strategy.exit("Exit SE", "SilverBullet SE", stop=slPrice, limit=tpPrice)
// Plotting
plotshape(longCondition, title="Bullish FVG Signal", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, title="Bearish FVG Signal", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
The strategy logic is time-anchored to UTC. Ensure your chart timezone is either set to UTC or understand the time conversion for your local timezone (e.g., London 08:00 UTC is 09:00 BST or 08:00 GMT).
Yes, although originally designed for Forex majors like EURUSD and GBPUSD, the liquidity sweep and FVG principles apply universally to indices like US30/NAS100 and crypto assets during their respective session opens.
Standard institutional protocol dictates taking only the first valid FVG that forms immediately following the liquidity sweep and structural displacement. Subsequent FVGs have a lower probability of success.
The core edge of the ICT Silver Bullet London Session 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 assume ECN execution with raw spreads and standard commission fees. Slippage during high-impact news was filtered out by avoiding trading 30 minutes before/after major data releases.
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.