This weekend reminded me to check how my EA handles the clock change. The UK moved back an hour last Sunday, and the US changes a week later, so for one week the gap between London and New York is different.
What I checked:
Session filters based on broker server time. My broker uses a New York based server time, so London hours shift by one hour in server time during that week.
News filters. My calendar file is in UTC, so it's fine, but I had an old version that used local time.
Daily reset logic. The daily loss counter goes back to zero at midnight server time, and that point shifted too.
I found one bug: the London session filter in my EA was hard coded in server hours, so for this week it starts an hour late. I fixed it by converting from UTC with an explicit offset table.
Has anyone automated this properly? I'm considering computing session times from UTC in the EA and ignoring server time completely.
I got bitten by exactly this a couple of years ago, on a GBPUSD EA that traded the first ninety minutes of London. During the gap week it opened an hour late every day, which meant it missed the initial move and caught the messy pullback instead. Five losing days in a row before I noticed, and I only spotted it because the entry times in the log looked wrong.
I went the route you describe and compute everything from UTC inside the EA. The broker server time is only used to read the current UTC offset, which I check against the platform's GMT time function on every new bar. If the two disagree with my expected offset table, the EA stops opening trades and writes a warning.
The daily reset was the part I underestimated. My loss counter reset at server midnight, so during the gap week the trading day effectively became 23 hours on one side and 25 on the other. I now reset it at a fixed UTC hour, which also lines up better with how my prop firm counts the day.