The forex market hours gmt trading session indicator solves a problem MetaTrader creates. Your chart runs on broker time, and no broker agrees on what that is. So you enter session hours in GMT and give the tool one offset.
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 | 1: MarketHoursMarker |
| Alerts | popup |
| Inputs | 22 |
What the Forex Market Hours Gmt Trading Session Indicator draws on the chart
Shaded boxes cover each session across the chart.
Colours separate the four, from `InpSydneyColor` through to `InpNYColor`.
`InpShowVerticalLines` marks each session boundary.
The single `MarketHoursMarker` buffer draws nothing, so every mark on screen is a chart object.
- MarketHoursMarker: hidden buffer, none

How the Forex Market Hours Gmt Trading Session Indicator calculates its values
Everything starts in GMT
Each session carries an open and close hour in GMT. London runs from `InpLondonOpen` `8` to `InpLondonClose` `17` by default, and New York from `InpNYOpen` `13` to `InpNYClose` `22`.
One offset converts them
`InpGMTOffset` `0` says how far your broker clock sits from GMT. The code shifts every session hour by that amount before drawing. Get this wrong and every box lands in the wrong place.
Sessions that cross midnight still work
Sydney opens at 22 and closes at 7, so its close falls on the next day. The code adds twenty-four hours when the close hour is lower than the open, which keeps the box in one piece.
How to read the signals
Overlapping boxes mark the busiest hours of the day.
London and New York overlap for four hours by default.
`InpHistoryDays` `5` decides how far back the boxes get drawn.
The boxes describe clock time only, never activity.
Alert channels in this build: popup, one message per closed bar.
One route ships here. `InpAlertOnSessionChange` arrives true and posts a terminal message when a session opens or closes. No phone, mail or sound option exists in this build, and the guard limits it to one message per bar.
Every Forex Market Hours Gmt Trading Session Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
InpSydneyOpen |
Sydney open (GMT). Sydney open hour in GMT, default `22`. | 22 |
InpSydneyClose |
Sydney close (GMT). | 7 |
InpTokyoOpen |
Tokyo open (GMT). Tokyo open hour in GMT, default `0`. | 0 |
InpTokyoClose |
Tokyo close (GMT). | 9 |
InpLondonOpen |
London open (GMT). London open hour in GMT, default `8`. | 8 |
InpLondonClose |
London close (GMT). London close hour in GMT, default `17`. | 17 |
InpNYOpen |
New York open (GMT). New York open hour in GMT, default `13`. | 13 |
InpNYClose |
New York close (GMT). | 22 |
InpGMTOffset |
Broker GMT offset (hours). Hours between broker time and GMT, default `0`. | 0 |
Display settings
| Setting | What it does | Default |
|---|---|---|
InpSydneyColor |
(see inputs panel) | slate blue |
InpTokyoColor |
(see inputs panel) | dark goldenrod |
InpLondonColor |
(see inputs panel) | teal |
InpNYColor |
(see inputs panel) | fire brick |
InpShowBackground |
Shade each session block, default `true`. | on |
InpShowVerticalLines |
Mark each session boundary, default `true`. | on |
InpShowDashboard |
Show the session readout, default `true`. | on |
InpDashboardX |
(see inputs panel) | 15 |
InpDashboardY |
(see inputs panel) | 30 |
InpFontSize |
(see inputs panel) | 10 |
InpFontName |
(see inputs panel) | Arial Black |
InpHistoryDays |
Backfill days for boxes. Days of past sessions to draw, default `5`. | 5 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
InpAlertOnSessionChange |
Message when a session opens or closes, default `true`. | on |

Settings that fit your chart
Session boxes belong on intraday charts. EURUSD H1 is the reference chart, where four sessions and their overlaps fit comfortably. On M5 the boxes stretch beyond the screen. On daily bars they lose all meaning.
When the Forex Market Hours Gmt Trading Session Indicator fails
`InpGMTOffset` `0` suits very few brokers, so most users must change it first.
Daylight saving moves real session hours, and the tool has no calendar for that.
A session box marks the clock, not whether anything is actually trading.
Copy the compiled Forex Market Hours Gmt Trading Session 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: News Trading Strategy.
Download the Forex Market Hours Gmt Trading Session Indicator for MT4 and MT5
The zip holds the compiled Forex Market Hours Gmt Trading Session 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.
FAQ
What does InpGMTOffset 0 assume?
That your broker clock equals GMT, which very few do. Most run at GMT plus two in winter and plus three in summer. Set this first, because every box position depends on it.
How does InpSydneyOpen 22 cross midnight?
Sydney opens at 22 GMT and closes at 7 the next morning, so the close hour is numerically lower than the open. The code adds twenty-four hours in that case, which keeps the box as one block.
Why do InpLondonClose and InpNYOpen overlap?
Because they really do. London runs to 17 GMT and New York opens at 13, giving four hours where both are active. That window carries the heaviest activity of the day on most currency pairs.
Does InpHistoryDays 5 affect performance?
Mildly. It sets how many past days of boxes get drawn, and each day adds four rectangles plus their boundary lines. Raising it far beyond a week makes the chart busy before it makes it slow.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Forex Market Hours Gmt Trading Session Indicator as one input. Always backtest before trading live.
Category: this is part of our Sessions collection. Next, plainly, yet, browse more Sessions for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- The core method is documented in markets operations at the Bank of England.
- Additional market context is at reference rates at the New York Fed.
