Home > Blog > How Server Timezones Break EA Session Filters

timezonesession filterMT5

How Server Timezones Break EA Session Filters

Published: 2026-10-20Read time: about 3 min
⏱ This article reflects information as of its publish date. EA performance figures (PF, DD, annual return) change with live trading and re-validation — check the latest on the EA pages. See the latest EA results →

Bottom line: a session filter means nothing until you define "what time, on which clock"

You set an EA with a session filter to "trade only during London hours." But if your broker's server time is off, it will actually trade an hour away from the window you intended. The cause is usually whether the server runs on GMT+2 or GMT+3, and when it switches for daylight saving time.

Before installing any EA that uses a session filter, we recommend confirming that "the clock the EA assumes" matches "the clock of your own account." The drift is hard to spot by looking at the screen. It only shows up as results that get slightly worse over time.

📧 Free 8-email course + subscriber-only pack of 13 MT5 indicators

Right after you sign up, you get a download link for a subscriber-only pack of our 13 MT5 indicators: compiled files (.ex5), source code and a setup guide. Then 8 emails on algo-trading essentials, reading backtests correctly and choosing a broker (one a day for the first 5 days, then 7, 14 and 30 days after signing up). You also get notified before each price rise of the versions sold on the MQL5 Market (launch pricing that steps up as copies sell). Our EAs are free on this site with a live account at a partner broker.

* Privacy strictly protected. You can unsubscribe at any time.

Why the drift happens

MT5 time is "server time"

The time shown on an MT5 chart, and the time an EA receives through TimeCurrent(), is the broker's server time. It is neither Japan time nor GMT. So if you write "8:00 to 16:00" in an EA, it means 8:00 to 16:00 server time.

GMT+2/+3 switches with daylight saving time

Many brokers use GMT+2 in winter and GMT+3 in summer. The purpose is to align 17:00 New York time with the daily candle rollover (00:00), so they switch in step with US daylight saving time. However, some brokers switch with European daylight saving time instead, some stay fixed at GMT+2 all year, and some use GMT+0.

The US and Europe start and end daylight saving time on different dates. In autumn 2026, Europe ends DST on October 25 and the US on November 1. For that one week, server time differs by an hour even between brokers of the same "GMT+2/+3 type." In spring, the mismatch lasts somewhat longer.

Common ways the drift shows up

SituationWhat happens
EA assumes GMT+2/+3, account is fixed at GMT+2Timing is judged one hour early all summer
US-style vs. European-style switch datesOne-hour drift for a few weeks each spring and autumn
Backtest broker differs from live brokerTrades in a different time window than in testing
Hours entered in Japan timeThe offset from Japan time changes between summer and winter, so it is right in only one season

Even a one-hour drift matters. For an EA that targets the move just before the London open, it ends up entering during the quiet hour before the open. For a filter meant to avoid the period around the daily rollover, when spreads tend to widen, it ends up trading in exactly that window.

How auto-correction works

Method 1: Convert using GMT as the reference

Get GMT with TimeGMT() and evaluate sessions in GMT. This works as expected in real time, but in the MT5 Strategy Tester TimeGMT() returns the same value as server time. Used alone, this method provides no correction in backtests.

Method 2: Hold the daylight saving rules in calculation

Calculate the offset from the date, for example "+3 from the second Sunday of March to the first Sunday of November." The advantage is that it behaves the same way in the tester. However, you need to know whether the broker follows US-style, European-style, or fixed hours, and if you get the rules wrong, you think you corrected the time but actually shifted it.

Method 3: Estimate from the first bar after the weekend

Estimate the server offset by checking what time the first bar of the week opens. It works without knowing each broker's settings, but it can misjudge weeks with holidays or unusual trading hours, so we do not use it on its own.

Every method has gaps, so in practice we think the safest design is "estimate automatically, but allow a manual input value to override."

Pre-deployment checklist

  1. Check whether the EA's manual or parameters express hours in server time, GMT, or Japan time
  2. Verify your account's server time by comparing the Market Watch time with GMT (in both summer and winter)
  3. Confirm with support or broker notices whether the broker switches US-style, European-style, or stays fixed
  4. Confirm that the broker used for backtesting is the same as the one used live
  5. In a DST switch week, check the EA's entry times in the logs

For differences in server time between brokers, see FX broker comparison, and for how to enter parameters, see EA setup guide.

Limits and cautions

Auto-correction is not a cure-all. Brokers sometimes change how they run server time without notice, and in some cases you cannot verify from the outside which clock the historical data was recorded on. In that case, even with correct adjustments, the backtest's time windows cannot be reproduced exactly.

Shifting the session can also improve results. But that may be coincidence. Even if a shifted setting won in a backtest, we do not recommend adopting it, because it becomes the same problem as curve fitting.

And even when the time is set correctly, whether the strategy wins in that session is a separate question. A session filter is a tool for avoiding losing hours, not a guarantee of profit.

Summary

  • MT5 time is server time, and it differs by broker: GMT+2/+3, fixed, or GMT+0
  • Because US and European DST switch on different dates, there are periods of one-hour drift in spring and autumn
  • TimeGMT() returns the same value as server time in the tester, so it cannot correct anything on its own during testing
  • A realistic approach combines automatic estimation with a manual override
  • Before deploying, compare "the EA's clock" with "your account's clock" in both summer and winter
  • Correct time does not mean the strategy will win in that session

For more MT5 operating know-how, see EA & MT5 Know-How.

📧 Free 8-email course + subscriber-only pack of 13 MT5 indicators

Right after you sign up, you get a download link for a subscriber-only pack of our 13 MT5 indicators: compiled files (.ex5), source code and a setup guide. Then 8 emails on algo-trading essentials, reading backtests correctly and choosing a broker (one a day for the first 5 days, then 7, 14 and 30 days after signing up). You also get notified before each price rise of the versions sold on the MQL5 Market (launch pricing that steps up as copies sell). Our EAs are free on this site with a live account at a partner broker.

* Privacy strictly protected. You can unsubscribe at any time.

Have a question about EAs or FX?

You can post it on the Nattzy trading forum (free sign-up). Questions beyond this article are welcome too — EA settings, choosing a broker and more.

Ask on Nattzy ↗

Comments & questions