Scripts: Determine Broker's Daylight (DST) schedule

 

Determine Broker's Daylight (DST) schedule:

Script to determine whether your Broker follows the US, UK or AU daylight (DST) schedule.

Author: amrali

 
Thank you. It overlaps a bit with my version.
 

Update 30 March 2024 - version 1.10

The script scans H1 bars only for the GOLD chart as it has the most accurate start times on all brokers that I have tested.

If you find that the script reports different result from the actual DST schedule of your server, please report that on the discussion here.

 

Update 12 April 2024 - version 1.30

Fixed issue in the calculation of the broker's DST schedule on brokers that do not provide gold trading.

 

DST_AU schedule:

The signs are mixed up.

 
fxsaber #:

The signs are mixed up.

No you are wrong. Please check again, the signs are correct.

Australia lies in the southern hemisphere, so it is reversed. DST in Australia begins on October (+1).


 
amrali #:

No you are wrong. Please check again, the signs are correct.

Australia lies in the southern hemisphere, so it is reversed. DST in Australia begins on October (+1).

Sorry, I didn’t notice that in the quote “autumn” comes first, not “spring”.

 

Good job, very clever to use gold to get an "absolute" time reference.

1. Did you check or know if it works on all brokers ? Or did you identify broker(s) where it gives wrong results ? (I am talking here on broker which provides gold symbol but nonetheless gives wrong DST).

2. When there is no gold symbol : "//--- Few brokers do not provide gold trading, so we must use forex symbol". Doing so you are introducing a bug, at least on some brokers, where it's not possible to correctly identify the DST from forex symbol.

 
Alain Verleyen #:

Good job, very clever to use gold to get an "absolute" time reference.

1. Did you check or know if it works on all brokers ? Or did you identify broker(s) where it gives wrong results ? (I am talking here on broker which provides gold symbol but nonetheless gives wrong DST).

2. When there is no gold symbol : "//--- Few brokers do not provide gold trading, so we must use forex symbol". Doing so you are introducing a bug, at least on some brokers, where it's not possible to correctly identify the DST from forex symbol.

I tested the algo on 10 different brokers with either US, UK schedules or none. I did not find a broker following DST_AU.

The idea of using gold is that I found that after US has switched to summer time (+1) at mid March, some (not all) brokers that follow the DST_UK schedule +2/+3 GMT offset still prefer to start their trading week at the same hour (Mon 00:00), instead of starting earlier at Sun 23:00. They actually end their trading week at Fri 23:00 though instead of Sat 00:00. This lasts for 2-3 weeks until they advance their server time by +1 (time of UK switch to summer is later than US), so they pick up again with US, so server starts Mon 00:00 and ends Sat 00:00 as usual. This temporary adjustment in the trading schedule last for 2-3 weeks at mid March.

This artifact is only found on some DST_UK brokers (I think they prefer that their USD charts to start always at 00:00 every day, even during the time between US and UK transitions to summer). If you visit AdmiralMarkets you will find notifications about server timing changes on the website. Luckily, GOLD charts do not suffer from this artifact. I think they did not bother to intervene with the timing of GOLD charts may be because not so many traders actually trade gold, so timings on gold charts follows the expected pattern when US enters summer timing.

Regarding some brokers, that do not offer GOLD trading, they are mostly US-based, and they follow the US_DST schedule. Therefore, this artifact does not happen with them. So, it is Ok to use their Fx pair charts (EURUSD). 

This is quoted from here:

"Dear Traders,  

We'd like to inform you that between March 9 and March 30, 2024, there will be a temporary adjustment in the trading schedule.  

This change is due to the Daylight Savings Time difference in the US, which will cause daily trading breaks to shift back by one hour. This means that the trading sessions will open and close one hour earlier than usual.  

The adjustment is necessary as the US switches to Summer Daylight Saving Time three weeks earlier than Europe does. It's important to note that the Forex trading opening hours on Monday, March 11 (at 00:05 EET), will remain unaffected. However, please be aware that the trading day on Friday, March 15, March 22, and March 29 will end at 22:59 EET.  

Additionally, the opening hours on Monday (March 11, March 18, and March 25) for Metals CFDs and US Market CFDs (Shares, Indices, Commodities, and US Treasury Note CFDs) will also be shifted back by one hour. This change will also impact CFD Indices Germany 40, FTSE100, ASX 200, and STXE50 night breaks."

Edit:

The last highlighted line (green) means they do not intervene with the chart times of metals.

 
These some UK_DST brokers choose to simply drop (do not quote) the first H1 bar at Sun 23:00 from their Forex currency pairs charts to appear as if they switched to DST with US. The trading week on these brokers is 119 hours only, not 120 hours (5 days × 24 h) on currency pairs during the last 2-3 weeks in March.

This temporary adjustment of trading hours does not occur on Gold charts.

This is how it appears on charts (I am using my iForexSessions indicator)

EURUSD (AdmiralMarkets)

You see 3 gaps between the vertical lines in March, because the indicator was not able to find the first H1 bar of the trading week for these 3 weeks.

GOLD (AdmiralMarkets)


 
amrali #:

I tested the algo on 10 different brokers with either US, UK schedules or none. I did not find a broker following DST_AU.

Yes, me neither, no DST_AU broker found.

Thanks for your detailed explanation and answers. I will use your GOLD idea, but not your code, and check it on all the brokers used by our customers, I will keep you posted in case there is something special. (Some brokers are sometimes doing very strange things).