MT5 MqlTick.time_msc vs Python symbol_info_tick(): UTC or Broker Server Time?

Hello,

I am developing an automated BTCUSD trading system using MetaTrader 5, MQL5 and the official MetaTrader5 Python package on a Pepperstone demo account.

I need to establish the exact timestamp convention used by:

  • MqlTick.time_msc in MQL5

  • MetaTrader5.symbol_info_tick("BTCUSD").time_msc in Python

During previous synchronized, read-only observations, both interfaces returned matching raw tick timestamp fields, but the numerical values appeared approximately 10,800 seconds ahead of the independently observed UTC time.

Pepperstone confirmed that its trading servers operate at GMT+3 or GMT+2 depending on daylight saving time. However, its support team stated that MetaQuotes is responsible for confirming the raw numerical timestamp representation.

My questions:

  1. Are these raw integer timestamps standard Unix epoch milliseconds in UTC, or can they represent broker server time with a GMT offset embedded in the numerical value?

  2. Do the MQL5 and Python interfaces use exactly the same timestamp convention?

  3. Does the MetaTrader5 Python package already normalize these timestamps to UTC?

  4. How should applications handle daylight saving time transitions and reconnections without introducing an incorrect double timezone conversion?

  5. Is there an officially documented method to verify the timestamp convention for a particular terminal/server connection?

I am not asking for a guaranteed quote latency or a strict three-second freshness limit.

I need to interpret the timestamps correctly for a fail-closed validation mechanism before enabling automated trading.

An authoritative MetaQuotes technical reference or a numerical example would be greatly appreciated.

Thank you.

Cesar Marion:

I need to establish the exact timestamp convention used by:

  • MqlTick.time_msc in MQL5

  • MetaTrader5.symbol_info_tick("BTCUSD").time_msc in Python

You might want to search the Forum before starting a new thread. I have to estimate that the same request has been posted at least 15 times already.

Put simply, your broker-dealer determines the timestamp of its data. If you've read the Python-UTC related mql5.com documentation, it's erroneous.