Broker server time and session settings: a worksheet before your next test
An EA is configured to consider entries between 15:00 and 18:00. You watch it at 3 pm on your computer and see no entry. Before changing the hours, establish which clock those numbers refer to.
A session filter makes a time interval eligible for consideration. It does not promise that a valid signal, an accepted order or a trade will occur inside that interval.
Here is a practical worksheet for checking the clock without turning an observation into an unexplained settings change.
1. Establish the intended time basis
Read the current product documentation and capture the loaded session settings. Determine whether the EA uses broker-server time, UTC, your computer's local time or another documented conversion.
These are different references. Moving your computer clock does not change the server time returned by MQL5's TimeCurrent function. Avoid guessing the time basis from an input label such as "Start Hour".
Record the exact broker server and symbol. Ask the broker how its server offset is defined for the dates you intend to test. A current offset observation does not establish the offset throughout a multi-year history; brokers can publish seasonal server-time changes.
Also separate the EA's entry window from the instrument's available trading sessions. Being inside the configured window does not make a closed instrument tradable. Check the exact symbol's Specification and relevant broker notices.
2. Make a fresh clock observation
While quotes are arriving, record a server timestamp and a trustworthy UTC timestamp as close together as possible. Include the dates, seconds, local timezone and how each value was obtained.
For a developer's diagnostic, TimeCurrent returns server time associated with the handled tick inside OnTick. Outside that handler, it returns the last quote time from any selected Market Watch symbol. That can be an older timestamp if quotes have stopped; it is not necessarily the current wall-clock time or the last quote for your gold symbol.
Note quote freshness and connection state before calculating an offset. A screenshot taken during a weekend or disconnected session can give a misleading comparison. The official behaviour is documented here:
https://www.mql5.com/en/docs/dateandtime/timecurrent
3. Work through a hypothetical conversion
Assume two hypothetical servers. Server A is UTC+2 and Server B is UTC+3 for the period being illustrated. Both have an entry window labelled 15:00–18:00 in server time.
Server A: 15:00–18:00 corresponds to 13:00–16:00 UTC.
Server B: 15:00–18:00 corresponds to 12:00–15:00 UTC.
The same hour inputs therefore refer to different UTC intervals. At 12:30 UTC, A reads 14:30 and B reads 15:30. One is outside the example window and the other is inside it.
If your Sydney local clock is UTC+11 on the date being checked, A's example window appears as 00:00–03:00 on the following local date. B's appears as 23:00 on the current local date through 02:00 on the following date. Verify the local offset for the actual date; this is conditional arithmetic, not a historical daylight-saving schedule.
Record the date as well as the hour. A Monday server session can extend into Tuesday on a local display. Apply weekday settings according to the EA's documented clock, rather than assuming your local calendar controls them.
This example explains a difference. It does not establish that either session should be shifted or that one produces better results.
4. Separate historical simulation from demo observation
In the Strategy Tester, TimeCurrent is simulated from historical data. MQL5 also documents that TimeLocal, TimeTradeServer and TimeGMT display the same time during testing. Subtracting those tester values does not reconstruct a broker's historical UTC offset:
https://www.mql5.com/en/docs/runtime/testing
Keep historical timezone evidence alongside the tester dates and logs. A completed historical run and observations collected over time on a demo account answer different questions. Label them separately.
If you investigate a session change, save the original inputs, create a separately named comparison and change one documented setting at a time. Retain both reports. Observe session status or logs around boundaries where available; do not assume every EA treats the exact ending second or an overnight window identically.
Copyable clock worksheet
EA name, installed version and documentation reference:
Broker server and exact symbol:
Test or observation dates:
Documented clock used by the EA:
Loaded session hours and weekday permissions:
Fresh server timestamp and source:
UTC timestamp and source:
Local timestamp, timezone and date:
Observed server offset and quote freshness:
Broker evidence for historical offset changes:
Equivalent UTC interval and local dates:
Instrument trading sessions checked:
Original inputs, comparison inputs, reports and logs saved:
Unresolved clock or boundary questions:
I'm Jarrod Emery, the developer behind ExpertCodeFX. The current Ecfx XAU Aurum Velocity listing, version 1.2, describes an adjustable broker-time session and a standard 15:00–18:00 broker-server-time window. Use its current setup reference alongside the installed inputs when applying this worksheet:
https://www.mql5.com/en/market/product/190888
Which clock detail is hardest to confirm in your tests: server offset, local date changes or the historical session boundaries?
This is educational information. Historical tests and demo observations do not guarantee future results. Changing session settings can change exposure and losses. Trading can result in loss.


