Voir comment télécharger gratuitement des robots de trading
Retrouvez-nous sur Twitter !
Rejoignez notre page de fans
Un script intéressant ?
Poster un lien vers celui-ci -
laisser les autres l'évaluer
Vous avez aimé le script ? Essayez-le dans le terminal MetaTrader 5
Scripts

Checking the server time changes due to the daylight saving time (DST) changeover - script pour MetaTrader 5

Vues:
378
Note:
(3)
Publié:
2025.01.20 09:01
MQL5 Freelance Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance


Unfortunately, I discovered that some brokers are a bit sloppy with the server time
change due to the daylight saving time (DST), which I did not expect and which surprised me a lot.

The FOREX session is exactly 120 hours:
from Sunday 5:00 p.m. Eastern Standard Time (North America) or EST
  to Friday 5:00 p.m. EST.

The problem arises from the time changes to summer time and winter time, which do not
take place on the same Sundays in the different regions of the world.

For example, the USA changes on the 2nd Sunday in March and the 1st Sunday in November,
and this also affects the start and end of the FOREX session.

The EU changes on the last Sunday in March i.e. after the USA and on the
last Sunday in October i.e. before the USA (see above Timeline).

This creates an interim period in which the USA and the EU have a different time differences
than the normal differences of 5 hours (London), 6 hours (Frankfurt, CET) or 7 hours (Cyprus, EET).

In this    interim period, this change of the time difference should be reflected in the changed
time stamps of the first and last hours of the FOREX session. So if the FOREX session starts
on Monday at 00:00 (EET, MQ time), after the USA has changed it should start an hour earlier,
i.e. Sunday at 23:00 and end an hour earlier on Friday, i.e. 23:00 (or 22:59:59).

But unfortunately I had to find out (and with this script anyone can check this with their broker)
that on a MQ demo account and on accounts of some real brokers the first hour always(!) appears
on Monday at 00:00, but the last hour, as expected,
on Friday at 23:00 (or 22:59) or one hour earlier. This means that the first hour of the
FOREX session, in which the trader or an EA could react to weekend events, is missing.
Also, the end of the FOREX session can no longer be determined by simply adding 120
to the first hour of the FOREX session, e.g. to close all positions before the weekend.

This script now checks the broker's time changes in the past and logs all FOREX sessions
that are obviously incorrect (odd) or not 120 hours. If there are 120 hours
between the first and last hour of a FOREX session, nothing is logged.

At the end the script prints the last retrieved timestamp, the number of odd sessions
found and the approximate number of years that have been checked.


Leider musste ich feststellen, dass manche Broker bei der
Serverzeitumstellung etwas nachlässig sind, was ich nicht erwartet
hatte und was mich sehr überrascht hat.

Die FOREX-Sitzung dauert genau 120 Stunden:
von Sonntag 17:00 Uhr Eastern Standard Time (Nordamerika) bzw. EST
bis Freitag 17:00 Uhr EST.

Das Problem entsteht durch die Zeitumstellungen auf Sommerzeit und Winterzeit,
die in den verschiedenen Regionen der Welt nicht an denselben Sonntagen stattfinden.

Die USA stellen beispielsweise am 2. Sonntag im März und am 1. Sonntag im November um,
was auch den Beginn und das Ende der FOREX-Sitzung beeinflusst.

Die EU stellt am letzten Sonntag im März, also nach den USA, und am
letzten Sonntag im Oktober, also vor den USA, um (siehe obige Timeline).

Dadurch entsteht eine Übergangszeit, in der die USA und die EU eine andere
Zeitdifferenzen haben als die normalen Differenzen von 5
Stunden (London), 6 Stunden (Frankfurt, MEZ) oder 7 Stunden (Zypern, EET).

In dieser Zwischenzeit sollte sich diese Änderung der Zeitdifferenz in den
geänderten Zeitstempeln der ersten und letzten Stunde der FOREX-Sitzung widerspiegeln.
Wenn die FOREX-Sitzung also am Montag um 00:00 (EET, MQ-Zeit) beginnt, sollte sie
nach der Änderung in den USA eine Stunde früher beginnen, also am Sonntag um 23:00 Uhr,
und am Freitag eine Stunde früher enden, also um 23:00 Uhr (oder 22:59:59 Uhr).

Aber leider musste ich feststellen (und mit diesem Script kann das jeder bei seinem
Broker überprüfen), dass auf einem MQ Demokonto und auf Konten einiger echter Broker
die erste Stunde immer(!) am Montag um 00:00 erscheint, die letzte Stunde aber erwartungsgemäß
am Freitag um 23:00 (bzw. 22:59) oder eine Stunde früher. Damit fehlt die erste Stunde
der FOREX Session, in der der Händler oder ein EA auf Ereignisse am Wochenende reagieren könnte.
Auch kann das Ende der FOREX Session nicht mehr dadurch bestimmt werden, indem einfach120 zur
ersten Stunde der FOREX Session hinzuaddiert wird, um z.B. alle Positionen vor dem Wochenende zu schließen.

Dieses Script prüft nun die Zeitänderungen des Brokers in der Vergangenheit und loggt alle
FOREX Sessions mit, die offensichtlich falsch (odd) oder nicht 120 Stunden sind. Wenn zwischen
erster und letzter Stunde einer FOREX-Session 120 Stunden liegen, erfolgt kein Ausdruck im Log.

Am Ende druckt das Skript den zuletzt abgerufenen Zeitstempel, die Anzahl der gefundenen
verkürzten Sitzungen und die ungefähre Anzahl der überprüften Jahre.

Symbol Swap Panel Utility Symbol Swap Panel Utility

Symbol Swap Panel: Effortlessly switch the active symbol on your chart while simultaneously adding the new symbol to Market Watch. This tool ensures seamless integration and access to real-time market data, optimizing your trading workflow.

Trend Equilibrium Indicator TrendEQ Trend Equilibrium Indicator TrendEQ

The Trend Equilibrium Indicator TrendEQ dynamically analyzes market movements by combining momentum and volatility. By scaling momentum with the market’s volatility, the TrendEQ provides a reliable measure of trend strength and direction.

Zigzag fibo oscillator Zigzag fibo oscillator

An advancement of the MetaQuotes zigzag with an oscillator mode, current bar leg tracking, fib levels, and dynamic scaling

Forex news events reaction EA: An mql5 calendar introduction. Forex news events reaction EA: An mql5 calendar introduction.

An MQL5 Expert Advisor that reacts to high-impact forex news events using the MQL5 Calendar. It identifies news related to inflation (CPI/PPI) and interest rate decisions, placing breakout trades with pending orders. Ideal for traders looking to automate news-based strategies. (This is just a starting point)