MetaQuotes-Demo server timezone / UTC offset on historical dates

 
Hello,

I need a clarification about the historical server time used by the MetaQuotes-Demo MT5 server.

Could someone confirm the server timezone / UTC offset on these two dates?

- 1 September 2026
- 3 September 2026

I also need to know:

1. whether MetaQuotes-Demo was using DST on those dates;
2. whether MqlTick.time and MqlTick.time_msc historical timestamps use the same server-time domain.

I am trying to map historical MT5 timestamps to UTC deterministically, so I need the exact server-time convention rather than an observed or assumed offset.

If possible, please indicate whether the answer is based on an official MetaQuotes convention/documentation.

Thank you.
Documentation on MQL5: TimeTradeServer / Date and Time
Documentation on MQL5: TimeTradeServer / Date and Time
  • www.mql5.com
Returns the calculated current time of the trade server. Unlike TimeCurrent() , the calculation of the time value is performed in the client...
 
Vito Iacobellis:
Hello,

I need a clarification about the historical server time used by the MetaQuotes-Demo MT5 server.

Could someone confirm the server timezone / UTC offset on these two dates?

- 1 September 2026
- 3 September 2026

I also need to know:

1. whether MetaQuotes-Demo was using DST on those dates;
2. whether MqlTick.time and MqlTick.time_msc historical timestamps use the same server-time domain.

I am trying to map historical MT5 timestamps to UTC deterministically, so I need the exact server-time convention rather than an observed or assumed offset.

If possible, please indicate whether the answer is based on an official MetaQuotes convention/documentation.

Thank you.

Hello,

For the two dates you listed, MetaQuotes-Demo was operating at UTC+3:

  • 1 September 2026: UTC+3
  • 3 September 2026: UTC+3

This is consistent with the historical MetaQuotes-Demo behaviour of using UTC+2 in standard time and UTC+3 during the summer/DST period.

Regarding your other questions:

MqlTick.time and MqlTick.time_msc represent the same tick timestamp in the same time domain. The difference is only the precision: time is expressed in seconds, while time_msc represents the same tick time with millisecond precision.

TimeCurrent() represents the current trade-server time received with the quote. MetaQuotes documents that this is server time and is independent of the local computer clock.

In the Strategy Tester, TimeTradeServer() is simulated from the historical data, and MetaQuotes documentation states that during testing it is always equal to TimeCurrent() . So, when working with historical data inside MT5, these values should be treated as belonging to the same simulated server-time domain.

The one part I would be careful with is the DST transition rule itself. I am not aware of official MetaQuotes documentation that guarantees a permanent DST calendar for MetaQuotes-Demo for all historical periods and all instruments.

So for your specific dates, the answer is:

2026-09-01 → UTC+3
2026-09-03 → UTC+3

But if your goal is to convert arbitrary historical MetaQuotes-Demo timestamps to UTC deterministically over many years, I would not rely only on a hard-coded modern DST rule. A historical offset table, or offset information derived from the actual MetaQuotes data, would be safer.

The official MetaQuotes documentation supports the behaviour of TimeCurrent() and TimeTradeServer() in the tester, while the exact historical MetaQuotes-Demo UTC/DST convention is based more on observed server behaviour and long-standing forum information than on a clearly documented permanent MetaQuotes timezone specification.