ICT Concepts Indicator: Gaps, Blocks, Liquidity and Kill Zones

Written by Dominic Walsh · Published · Last updated

The ICT concepts indicator layers four smart-money drawings onto one chart. Fair value gaps, order blocks, liquidity pools and session kill zones all appear together. Every mark comes from chart objects, so the single buffer stays hidden. Traders who draw these levels by hand get the same map without the work.

This build ships as ict-concepts-indicator-forexmt4systems.ex4 for MT4 and ict-concepts-indicator-forexmt4systems.ex5 for MT5; the screenshots below come from EURUSD H1.

Platforms MT4 (.ex4) + MT5 (.ex5)
Chart window Main price chart
Plots 1: ICT Concepts Overlay
Alerts popup, push notification, email, sound
Inputs 24

What the ICT Concepts Indicator draws on the chart

Fair value gaps arrive as rectangles. The buffer named ICT Concepts Overlay draws nothing at all. A bullish gap covers the space between the low two bars back and the reference high. BullFVGColor paints it, and BearFVGColor paints the mirror case.

Order blocks arrive as shorter boxes around the candle range. BullOBColor marks the down candle that came before an up push. BearOBColor marks the up candle before a down push. Each box extends a few bars to the right.

Liquidity pools and kill zones finish the map. Swing highs get a line and a BSL tag in BSLColor. Swing lows get an SSL tag in SSLColor. The three session windows drop coloured vertical bands with a dotted start line.

  • ICT Concepts Overlay: hidden buffer
ICT concepts indicator on EURUSD H1 with fair value gaps, order blocks and kill zone bands.
ICT concepts indicator on EURUSD H1 with fair value gaps, order blocks and kill zone bands.

How the ICT Concepts Indicator calculates its values

Fair value gaps and order blocks

Two candle patterns drive the boxes. A bullish gap needs the low two bars back above the reference high. That leaves untraded space between them. The bearish version needs the high two bars back below the reference low.

Order blocks look for the last candle facing the wrong way. A down candle followed by an up close above its high marks a bullish block. The mirror pattern marks a bearish one. MaxFVG and MaxOB stop either list from filling the chart.

Liquidity pools from fractal swings

Swing detection uses a plain fractal test. SwingLookback sets how many bars a high must beat on each side. Confirmed highs become buyside liquidity and confirmed lows become sellside liquidity. MaxLiquidity caps how many lines survive.

Session kill zones

Kill zones come from the clock. The code reads the hour of each bar in server time. It shades three windows for Asia, London and New York. Weekend bars drop out of the loop.

Server time matters here. Your broker’s clock decides where those bands land. A terminal two hours away shades different candles.

How to read the signals

Unfilled gaps act as targets. Price that leaves a gap behind often returns to trade through part of it. The rectangle shows where that unbalanced range sits.

Order blocks give you a zone rather than a line. Many traders wait for price to reach the block. They then look for a reaction inside it instead of entering on touch.

BSL and SSL tags mark where stops cluster. A sweep through one, followed by a close back inside, is the sequence liquidity traders want. The kill zone bands tell you whether that sweep landed in an active session.

Alert channels in this build: popup, push notification, email and sound, one message per closed bar.

A fresh three candle imbalance can raise a popup, a push notification, an email or a sound. The guard allows one message per closed bar. The gap test itself reads the forming bar, so treat the message as a heads-up.

Every ICT Concepts Indicator input

Core settings

Setting What it does Default
LookbackBars bars to scan for structure. How far back the scan runs. A longer window finds more history and leaves more objects. 400
SwingLookback fractal swing strength (left/right). Bars either side of a fractal swing. Raise it to keep only prominent swings. 5
MaxFVG max FVG zones to keep on chart. Ceiling on fair value gap rectangles. Lower it when the chart fills with boxes. 30
MaxOB max Order Blocks to keep. Ceiling on order block rectangles, counted separately from the gaps. 20
MaxLiquidity max liquidity pool lines. Ceiling on BSL and SSL lines, shared between highs and lows. 30
ObjPrefix Name stem for every object the build creates. Change it to run two copies on one chart. ICTC_

Display settings

Setting What it does Default
BullFVGColor (see inputs panel) sea green
BearFVGColor (see inputs panel) maroon
BullOBColor (see inputs panel) lawn green
BearOBColor (see inputs panel) crimson
BSLColor buyside liquidity. deep sky blue
SSLColor sellside liquidity. tomato
AsiaKZColor (see inputs panel) gold
LondonKZColor (see inputs panel) aqua
NewYorkKZColor (see inputs panel) medium orchid
ShowAsiaKZ (see inputs panel) on
ShowLondonKZ (see inputs panel) on
ShowNYKZ (see inputs panel) on

Alert settings

Setting What it does Default
EnableAlerts (see inputs panel) on
EnablePopup (see inputs panel) on
EnablePushNotify (see inputs panel) off
EnableEmail (see inputs panel) off
EnableSound (see inputs panel) off
SoundFile (see inputs panel) alert.wav
ict concepts indicator: Inputs panel showing LookbackBars, SwingLookback, MaxFVG and the kill zone toggles.
Inputs panel showing LookbackBars, SwingLookback, MaxFVG and the kill zone toggles.

Settings that fit your chart

Smart-money drawings need clean sessions. EURUSD on H1 keeps all three kill zones visible in one screen. M15 suits traders working inside a single session, though the box count climbs. H4 thins everything out and suits swing planning. Index CFDs with a cash open behave differently, because the kill zone hours follow the server clock.

When the ICT Concepts Indicator fails

Gaps and blocks are pattern matches, not context. The code accepts every three candle imbalance in range. That includes the ones left by a news spike price never revisits.

Kill zone hours follow the broker clock. A terminal on a different server offset shades the wrong candles. Nothing in the build detects that.

The object count grows quickly. A long scan with all three caps near their shipped values fills a chart. Older machines then redraw slowly on every new bar.

The alert reads the bar still forming. Its gap test compares the current unfinished candle with the one two bars back. A message can therefore arrive on a shape that changes before the close.

Copy ict-concepts-indicator-forexmt4systems.ex4 into MQL4/Indicators and ict-concepts-indicator-forexmt4systems.ex5 into MQL5/Indicators, then restart the terminal and drag the ICT Concepts Indicator onto a chart. The step-by-step guide with screenshots is at how to install MT4 and MT5 indicators.

Related on forexmt4systems.com: Smart Money Concepts Strategy.

Download the ICT Concepts Indicator for MT4 and MT5

The zip ict-concepts-indicator-forexmt4systems.zip holds ict-concepts-indicator-forexmt4systems.ex4, ict-concepts-indicator-forexmt4systems.ex5 and a short README, compiled files only. Enter your email below and the download link arrives in your inbox.

Download this indicator free

Enter your email and the file is yours. You also get the full MT4 and MT5 library.

  • 1,380+ indicators
  • MT4 and MT5 files
  • No spam, unsubscribe any time

FAQ

How does SwingLookback decide what counts as a liquidity pool?

A swing high has to beat every high for that many bars on both sides. The same test applies to lows. Confirmed highs get a BSL line and confirmed lows get an SSL line. Raising the number leaves fewer, cleaner pools. Lowering it fills the chart with minor swings.

Why do the ShowLondonKZ bands cover different candles on my broker?

Hours come from server time, not from your local clock. Asia shades the first three hours of the trading day. London and New York shade their own three hour windows on the same clock. Compare your server time against your chart before reading anything into the placement.

What separates a bullish order block from a bullish fair value gap?

The gap needs three candles with untraded space between the first and third. The block needs one down candle followed straight away by an up close above it. One marks an imbalance and the other marks the last opposite candle before a push. The build draws both in different colours.

Can I raise MaxFVG without slowing the chart down?

Up to a point. Every rectangle is a separate chart object, and the terminal redraws all of them. Thirty gap boxes alongside twenty blocks and thirty liquidity lines already keeps an older machine busy. Raise the cap in small steps and watch the redraw before pushing further.

Are results guaranteed?

No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the ICT Concepts Indicator as one input. Always backtest before trading live.

Category: this is part of our Smart Money collection. Also, truly, browse more Smart Money for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.

External references

Dominic Walsh - Forex trader and MT4/MT5 developer

About the author

Written by Dominic Walsh, a Forex trader and MT4/MT5 indicator, Expert Advisor and script developer. Every tool on forexmt4systems.com is tested on live charts before release and ships with ready-to-use compiled MT4 (.ex4) and MT5 (.ex5) files. Learn more about the trader and developer behind this site.

How we build, test and correct every tool: Editorial & Testing Policy. Trading carries risk; see the disclaimer.

Leave a Comment