ICT Macros Indicator: The Three New York Macro Windows

Written by Dominic Walsh · Published · Last updated

The ict macros indicator shades the short windows around the New York session that ICT traders watch for algorithmic delivery. Three windows ship by default: 08:50 to 09:10, 09:50 to 10:10 and 10:50 to 11:10, all in New York time. Your broker almost certainly runs a different clock, so a single offset input lines the windows up with your chart.

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 0
Alerts popup, push notification, email, sound
Inputs 17

What the Ict Macros Indicator draws on the chart

A shaded rectangle covers each macro window, sized to the recent price range so it stays visible.

Vertical lines mark the opening and closing minute of every window.

Text objects name which macro each block belongs to, such as Macro 2 (09:50-10:10 NY).

This build carries no indicator buffers at all. Everything on screen is a chart object, and there are no signal markers.

ICT macros indicator on EURUSD marking the three New York macro windows
ICT macros indicator on EURUSD marking the three New York macro windows

How the Ict Macros Indicator calculates its values

Converting your broker clock to New York

`InpNYServerOffset` holds the difference in hours between your chart server and New York. An EET broker sits seven hours ahead, so the comment in the source suggests +7 for that case. Every window boundary passes through this conversion before the code draws anything, which is why the same settings land correctly on brokers in different regions.

Testing the minute, not the hour

Macro windows straddle the top of the hour, so an hour comparison cannot express them. The code builds hm as mdt.hour * 60 + mdt.min and works in minutes from midnight. That lets a window run from 08:50 to 09:10 as a single continuous range.

Sizing the boxes to the visible range

A rectangle needs a top and a bottom in price. The code takes hi from iHighest over 200 bars and lo from iLowest over the same span, then derives yMid as (hi + lo) / 2.0. Anchoring to the recent range keeps every box in view rather than flat against the axis. `InpRectAlpha` controls how solid the fill looks and `InpHistoryDays` limits how far back the drawing runs.

How to read the signals

Each shaded block is a time window, not a price zone. Its height carries no meaning.

Vertical lines give the precise boundaries, while the shading only makes the window easy to spot.

What happens inside the window is the point: expansion, a reversal, or nothing at all.

Boxes older than the history limit disappear, so the chart stays readable as you scroll back.

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

This build wires four channels: popup, push notification, email and sound, each with a switch under `EnableAlerts`. Popup starts on, the rest start off, and `SoundFile` points at `”alert.wav”`. The guard limits output to one message per closed bar when a macro window opens.

Every Ict Macros Indicator input

Core settings

Setting What it does Default
InpNYServerOffset hours: chart-server – NY (e.g. EET broker = +7). Hours between your chart server and New York, default `0`. Set this first, because every window depends on it. An EET broker needs +7. 0
InpRectAlpha background rectangle alpha hint. How solid the shaded blocks look, default `35`. Lower it when the fill hides candle bodies. 35
InpObjectPrefix Names every object the tool creates, default `”ICTMACRO_”`. Change it only when another indicator writes objects under the same prefix. ICTMACRO_

Display settings

Setting What it does Default
InpDrawMacro1 08:50-09:10 NY. Switches the 08:50 to 09:10 window on or off; `InpDrawMacro2` and `InpDrawMacro3` do the same for the later two. on
InpDrawMacro2 09:50-10:10 NY. on
InpDrawMacro3 10:50-11:10 NY. on
InpColorMacro1 (see inputs panel) dodger blue
InpColorMacro2 (see inputs panel) orange
InpColorMacro3 (see inputs panel) medium purple
InpVLineWidth (see inputs panel) 1
InpHistoryDays how many days back to draw. How far back the boxes draw, default `30` days. 30

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 macros indicator inputs with InpNYServerOffset and the three macro toggles
ICT macros indicator inputs with InpNYServerOffset and the three macro toggles

Settings that fit your chart

Macro windows last twenty minutes, so the chart has to resolve them. M1 through M15 show the windows properly, and EURUSD is the reference instrument. On H1 a whole macro collapses into part of one candle and the boxes stop being useful. Index and gold traders who follow New York hours can apply the same offset logic, since the windows are clock based rather than instrument based.

When the Ict Macros Indicator fails

Everything depends on the offset being right. Get `InpNYServerOffset` wrong and the boxes land on the wrong candles while still looking perfectly plausible.

New York observes daylight saving and many brokers shift their server clock on a different date, so an offset that was correct in January can be an hour out in April.

The windows are fixed times. On a quiet holiday session the block appears exactly as usual with nothing happening inside it.

Copy the compiled Ict Macros 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.

Background reading on the method behind the Ict Macros Indicator: Commodity market on Wikipedia, Renkochart at Investopedia.

Download the Ict Macros Indicator for MT4 and MT5

The zip holds the compiled Ict Macros 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 should I set InpNYServerOffset to?

The difference in hours between your chart server clock and New York. The source comment gives the common case: an EET broker sits seven hours ahead, so +7. Check your own chart clock against New York time and enter that gap. Everything else the tool draws depends on getting this one number right.

Why does the ict macros indicator draw no arrows?

Because it has no indicator buffers. This build is objects only: rectangles for the windows, vertical lines for the boundaries and text for the labels. It marks when the market is in a macro window and leaves the read to you. Nothing in it generates a directional signal.

Which three windows does InpDrawMacro1 through 3 cover?

Macro 1 runs 08:50 to 09:10 New York, Macro 2 runs 09:50 to 10:10, and Macro 3 runs 10:50 to 11:10. Each has its own on and off switch and its own colour input, so you can show only the one that fits your session. All three default to true.

Why does InpRectAlpha shading change height as I scroll?

Height comes from the recent range, not from `InpRectAlpha`, which only controls how solid the fill looks. The code takes the highest high and lowest low over the last 200 bars and centres each block between them. That keeps every window visible instead of squashed against the price axis. Height carries no price meaning at all.

Are results guaranteed?

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

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