Trading Session ICT KillZone Indicator MT4 + MT5

Written by Dominic Walsh · Published · Last updated

The trading session ict killzone indicator marks the candle before a strong directional move as an order block. It measures the size of each move against a multiple of the average true range and colours the prior candle when that move qualifies. It suits traders working an ICT-style order block framework on an intraday chart. The order block idea comes from the ICT trading framework, but this build only checks candle size against volatility, not the session time windows the framework also uses.

This build ships as a compiled .ex4 for MT4 and .ex5 for MT5; the screenshots below come from EURUSD H1.

Platforms MT4 (.ex4) + MT5 (.ex5)
Chart window Main price chart
Plots 2: Bullish OB, Bearish OB
Alerts popup, push notification, email, sound
Inputs 8

What the Trading Session ICT KillZone Indicator draws on the chart

Bullish OB colours the candle before an up move that clears the ATR threshold, in orange.

Bearish OB colours the candle before a down move that clears the same threshold, in light sky blue.

  • Bullish OB: plot, orange
  • Bearish OB: plot, light sky blue
Trading session ICT killzone indicator on EURUSD H1 marking order block candles.
Trading session ICT killzone indicator on EURUSD H1 marking order block candles.

How the Trading Session ICT KillZone Indicator calculates its values

Average true range baseline

The code sums true range across AtrPeriod bars and divides by AtrPeriod to build an average true range figure for the current position on the chart.

Move test against the threshold

The code compares the close-to-close move on the latest bar against MoveAtrMultiplier times that ATR figure. When an up move clears the threshold and the prior candle closed bearish, the code marks that prior candle as a Bullish OB.

When a down move clears the threshold and the prior candle closed bullish, the code marks it as a Bearish OB. The marker always lands one candle behind the move that triggered it.

Reading the marks in sequence

Each mark is independent of the one before it. The code does not track whether an earlier Bullish OB was ever tested or broken; it only tests the current move against the ATR threshold on the current bar.

That means two marks of the same colour can appear close together if two separate moves both clear MoveAtrMultiplier. Treat each mark as its own signal rather than as part of a running count.

How to read the signals

An orange Bullish OB candle sits just before a move up that cleared the ATR threshold.

A light sky blue Bearish OB candle sits just before a move down that cleared it.

Both markers land retroactively on the candle before the qualifying move, not on the move itself.

A chart with very few marks over a long stretch of candles tells you MoveAtrMultiplier is set high relative to that instrument’s typical volatility.

A chart with a mark on almost every other candle tells you the threshold is set low for the current conditions and may need raising.

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

Alerts cover popup, push, email and sound, and fire once per closed bar.

Every Trading Session ICT KillZone Indicator input

Core settings

Setting What it does Default
MoveAtrMultiplier How many multiples of ATR a move must clear before the code marks the prior candle; default `2.5`. 2.5
AtrPeriod Lookback for the average true range baseline; default `18`. 18

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
trading session ict killzone indicator: Inputs panel for the ICT killzone indicator showing MoveAtrMultiplier and AtrPeriod.
Inputs panel for the ICT killzone indicator showing MoveAtrMultiplier and AtrPeriod.

Settings that fit your chart

The ATR-based threshold adapts to whatever instrument and timeframe you attach it to, since it measures move size against that symbol’s own recent volatility rather than a fixed pip value; the screenshot below uses EURUSD H1 with the default AtrPeriod and MoveAtrMultiplier.

When the Trading Session ICT KillZone Indicator fails

The visible order block logic tests move size against ATR only; this build carries no time-of-day or session window check, so treat the killzone framing as the intended use case rather than a built-in time filter.

Raising MoveAtrMultiplier cuts the number of marks sharply on a quiet instrument, while a low setting on a volatile pair marks nearly every other swing.

Because the mark lands one candle behind the move, a fast reversal on that same candle can make the marked block look wrong in hindsight.

The code does not remove or grey out an old mark once price has traded back through it, so a chart with many marks can show several that are no longer relevant to current price.

Two different symbols with the same MoveAtrMultiplier and AtrPeriod settings can produce very different mark frequency, since the ATR baseline itself differs by instrument.

Copy the compiled Trading Session ICT KillZone Indicator file into your MQL4/Indicators folder, and the MT5 build into MQL5/Indicators, then restart the terminal and drag it onto a chart. The step-by-step guide with screenshots is at how to install MT4 and MT5 indicators.

Related on forexmt4systems.com: ICT Style Strategy.

Download the Trading Session ICT KillZone Indicator for MT4 and MT5

The zip holds the compiled Trading Session ICT KillZone Indicator build for MT4 and MT5, plus a short README. Compiled files only, no source. 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

What does MoveAtrMultiplier control?

MoveAtrMultiplier sets how many multiples of the ATR baseline a move must clear before the code marks the prior candle as an order block. The default is `2.5`, so only moves at least 2.5x the AtrPeriod ATR qualify for a mark.

Does the indicator filter by session or killzone time window?

The visible order block logic only tests move size against ATR. This build carries no built-in time-of-day gate, so the killzone naming describes the intended use case rather than a coded time filter.

Why does the Bullish OB or Bearish OB mark sit on the candle before the move?

The code always colours the candle immediately before the qualifying move, following the standard order block convention of marking the last opposite candle before the displacement that follows it.

What does raising AtrPeriod change?

AtrPeriod lengthens the average true range window the threshold measures against. A longer AtrPeriod smooths the ATR baseline, which changes how often MoveAtrMultiplier’s threshold gets cleared.

Do older order block marks get removed once price trades through them?

No. The code leaves every qualifying mark on the chart. It does not track whether price has since traded back through a marked candle, so older marks can sit on the chart alongside newer ones.

Are results guaranteed?

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

Category: this is part of our Smart Money collection. 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