ICT Killzone Indicator (NY Session 07:00-10:00 GMT Box)

Written by Dominic Walsh · Published · Last updated

The ict killzone indicator draws a shaded box over one session each day. It scans bars by hour to find the StartHourGMT to EndHourGMT window. It then boxes in the high and low reached during that window. The default targets the New York session.

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

Platforms MT4 (.ex4) + MT5 (.ex5)
Chart window Main price chart
Plots 1: NY Killzone Hi/Lo
Alerts popup, push notification, email, sound
Inputs 13

What the Ict Killzone Indicator draws on the chart

NY Killzone Hi/Lo (orange red, DRAW_ARROW, code 159) marks the bar where each session opens, with a small arrow at the midpoint of that session’s high and low.

A rectangle spans the full StartHourGMT to EndHourGMT window, stretched to the highest high and lowest low the session reached.

A text label reading NY Killzone sits at the top left corner of each box, when ShowZoneLabels is on.

  • NY Killzone Hi/Lo: arrow, orange red, arrow code 159
EURUSD H1 chart: the ict killzone indicator's orange red box over the NY session window.
EURUSD H1 chart: the ict killzone indicator’s orange red box over the NY session window.

How the Ict Killzone Indicator calculates its values

Finding each session window

The code walks the bar history for any bar whose hour equals StartHourGMT. It skips Saturday and Sunday. From that anchor bar it scans forward, tracking the running high and low, until an hour at or past EndHourGMT.

StartHourGMT defaults to 7 and EndHourGMT to 10. The default box covers the 07:00 to 10:00 GMT window, a common New York open reference range.

Drawing the zone

Once the session’s high and low are known, the code draws a rectangle from the session’s start time to its end time. It fills that box with ZoneColor and pushes it behind the candles. ZoneTransparency and ObjectPrefix only touch the look and the object name.

MaxZonesShown caps how many boxes stay on the chart at once. It defaults to 60, so old sessions drop off rather than piling up.

Warm-up and updates

The scan needs at least 5 bars of history before it runs at all. Below that floor it draws nothing and skips the session search.

Once that floor is met, every recalculation walks the full bar history again, up to MaxZonesShown sessions, so the boxes stay in sync with the latest data.

How to read the signals

A new box appears once a full session window has closed. It shows exactly how far price traveled during that window.

The small NY Killzone Hi/Lo arrow at the box’s open time is a marker, not a signal. It only confirms where the session began.

Comparing successive boxes shows whether the session range has been expanding, shrinking, or drifting one way over recent days.

Once a box finishes drawing, its edges stay fixed. Later price action does not stretch or shrink an already closed session box.

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

EnableAlerts, EnablePopup, EnablePushNotify, EnableEmail and EnableSound cover the four channels, checked once per newly closed bar. A message fires only when that bar’s hour matches StartHourGMT on a weekday, marking the session’s open.

Every Ict Killzone Indicator input

Core settings

Setting What it does Default
StartHourGMT NY killzone start hour (GMT). StartHourGMT sets the hour, in GMT, when the session window opens. It defaults to 7. 7
EndHourGMT NY killzone end hour (GMT, exclusive). EndHourGMT sets the hour the window closes, exclusive of that hour. It defaults to 10. 10
ZoneTransparency 0..100, implemented via OBJPROP_BACK. ZoneTransparency is a fill setting between fully solid and fully clear. It defaults to 60, applied through the object’s back-fill property. 60
MaxZonesShown MaxZonesShown caps how many boxes stay drawn at once. It defaults to 60. 60
ObjectPrefix ObjectPrefix names every chart object the code creates. It defaults to “ictNYKZ_”, so old zones can be found and cleared. ictNYKZ_

Display settings

Setting What it does Default
ZoneColor distinct from London (lime/green) variant. ZoneColor sets the box fill color. It defaults to clrOrangeRed, kept distinct from other session variants. orange red
ShowZoneLabels ShowZoneLabels toggles the session text label on or off. It defaults to true. 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
Inputs panel for the ict killzone indicator, showing StartHourGMT, EndHourGMT and ZoneColor.
Inputs panel for the ict killzone indicator, showing StartHourGMT, EndHourGMT and ZoneColor.

Settings that fit your chart

The screenshot shows the ict killzone indicator on EURUSD H1. That timeframe is fine enough to trace the session range bar by bar without drawing too many boxes on screen. Since StartHourGMT and EndHourGMT are plain hour values, the same setup works on any forex pair. A lower chart timeframe traces the session range in finer detail but scans more bars to build each box.

When the Ict Killzone Indicator fails

The window is purely time-based. A quiet session still gets a box even if price barely moved, and the box carries no read on whether the range was meaningful.

StartHourGMT and EndHourGMT read the terminal’s GMT-based hour. A broker whose server time sits off GMT needs the hours adjusted by hand, or the box will not line up with the real session.

The scan only looks at completed bars. On a chart with a recent gap in history, a session window can end up partly or wholly missing.

There is no price filter here at all. The box only tracks time and the high-low range inside it, nothing else.

Copy ict-killzone-indicator-indicator-forexmt4systems.ex4 into MQL4/Indicators and ict-killzone-indicator-indicator-forexmt4systems.ex5 into MQL5/Indicators, then restart the terminal and drag the Ict Killzone Indicator 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.

Background reading on the method behind the Ict Killzone Indicator: Clearing balance requirement on Wikipedia, Fibonacciextensions at Investopedia.

Download the Ict Killzone Indicator for MT4 and MT5

The zip ict-killzone-indicator-indicator-forexmt4systems.zip holds ict-killzone-indicator-indicator-forexmt4systems.ex4, ict-killzone-indicator-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

What time window does the ict killzone indicator box by default?

The default StartHourGMT of 7 and EndHourGMT of 10 box the 07:00 to 10:00 GMT window, a common reference range for the New York session open. Both are plain integer hour inputs, so shifting either one moves the whole box earlier or later. Neither input changes how the box gets drawn, only when it starts and ends.

Why does the NY Killzone Hi/Lo arrow sit at the session open rather than the high or low?

The code plots that arrow at the midpoint between the session high and low, right at the bar where the window opens. It works as a marker that a new box has started. The actual high and low form the top and bottom edges of the rectangle instead. The arrow itself never moves once it is placed.

What happens once MaxZonesShown is reached?

MaxZonesShown, 60 by default, caps how many session boxes the scan draws in one pass through history. Once that count is hit, the loop stops adding boxes for older bars. The chart keeps the most recent sessions rather than every one ever scanned. Raising the value shows more history at the cost of a busier chart.

Does ObjectPrefix need to be unique if I run more than one killzone variant?

Yes. ObjectPrefix, “ictNYKZ_” by default, names every box and label the code creates. The cleanup routine only removes objects starting with that prefix. Two killzone copies sharing one prefix on the same chart would let each copy delete the other’s zones. Giving each copy its own prefix avoids that conflict.

Are results guaranteed?

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

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