Using GMT and DST

Modified on Sun, 25 Oct 2020 at 04:01 PM


Time configuration can be somewhat confusing. If you're uncertain what the GMT offset is and how it works, take a look at the UTC offset Wikipedia article - GMT offset is just another way of saying UTC offset. Similarly, if you're not sure what DST is, do some reading about daylight saving time on Wikipedia before reading further.

If you desire further study, I would advise using Google to find some articles that explain how GMT and DST apply to Forex and the trading world in general. An interesting article would be Knowledge on time and time zone in Forex trading.

Tick Data Suite GMT and DST configuration

You can configure the time rules for your backtest by adjusting the selections in the GMT and DST dropdowns in the Tick data settings dialog which can be opened by clicking the button with the same name in the MT4 backtest pane.

If you have any doubts, the GMT and DST of your computer or the VPS you are using (e.g. as related to the time that you see in the bottom right corner of your screen) are typically irrelevant when it comes to tick data backtesting. There is usually no good reason to try to reproduce your own time zone in your backtests.

Most people choose to match their broker's time configuration. Since a vast majority of brokers is using GMT+2 with US DST, the values configured in the Tick Data Suite will match that by default. If you are uncertain what GMT and DST your broker is using, you can try to use Google to find out the information. If that fails, get in touch with your broker's support and ask them. No matter if you use Google or ask the broker's support personnel, it's very important to also find out the rules that are used for the DST transition.

Do not rely on the time you see in your terminal. During late spring, summer and early autumn most brokers will be at GMT+3; that doesn't mean that they're using GMT+3 - it typically means that the broker is using GMT+2 and DST is active.

These being said, the GMT and DST dropdowns in the Tick data settings dialog in MT4 are the only configuration that you need to adjust when it comes to the time configuration of your tick data backtests. Whatever you set them to, these are the settings that will define the rules that your tick data will conform to during the backtest.

You do not need to worry about the source data - the Tick Data Suite already knows the GMT & DST of the source data and adjusts everything behind the scenes so that the data in your backtest will conform to the GMT and DST settings you configured in the Tick data settings dialog.

Configuring the GMT and DST for a particular EA

If you are backtesting an EA that trades around the clock, in most cases it doesn't really matter what GMT or DST you configure unless it's using the H4 or D1 timeframes in which case the bars will get shifted depending on the GMT offset. Typically, such an EA will not have a GMT configuration parameter or section.

If, however, you are backtesting an EA that only trades during certain times of the day it is very important to configure its settings correctly.

First of all, the GMT offset configured in the Tick Data Settings dialog should always match the GMT offset that you input in the EA parameters. 

Second, some EAs have an Automatic GMT feature. This feature never works in backtests and consequently you should disable the EA input parameter for it when you are backtesting the EA.

Third, a distinction has to be made: some EAs know how to handle DST transitions in a backtest, some don't. I would go as far as saying the majority of EAs can't handle DST during a backtest. If the time of the day matters to your EA, it's very important to find out whether the EA that you are backtesting handles DST in backtests or not. The only reasonable way to handle DST transitions in a backtest is to hardcode the transition dates or implement the transition rules - in both cases only a single DST transition type can be handled (US in most cases I've encountered).

If you are uncertain how your EA reacts to DST transitions in backtests, you should attempt to look up the information in the EA manual; if you can't find it there, contact the EA vendor and ask. Once you know whether the EA handles DST or not, configure the DST setting accordingly.

It's important to acknowledge that depending on the EA you are backtesting, using the broker's time configuration in your backtests may result in the trading time window being incorrectly shifted by one hour for about 6 months per year.

If you are designing your own EA and it needs to trade during a certain time window, the question that you need to ask yourself is: what is the most important thing that relates to the EA's trading window? Is it the New York open or close? In that case, use US DST. Is it the London open or close? Use EU DST. Is it somehow related to UTC? No DST in that case.