Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5

Checking the server time changes due to the daylight saving time (DST) changeover - скрипт для MetaTrader 5
- Просмотров:
- 51
- Рейтинг:
- Опубликован:
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
К сожалению, я обнаружил, что некоторые брокеры немного небрежно относятся к смене серверного времени
в связи с переходом на летнее время (DST), чего я не ожидал и что меня очень удивило.
Сессия FOREX длится ровно 120 часов:
с 5:00 воскресенья по восточному стандартному времени (Северная Америка) или EST
до 5:00 пятницы по восточному времени.m. EST.
Проблема возникает из-за перехода на летнее и зимнее время, которые
происходят не в одно и то же воскресенье в разных регионах мира.
Например, США переходят на летнее время во второе воскресенье марта и в первое воскресенье ноября,
и это также влияет на начало и конец сессии FOREX.
ЕС меняет время в последнее воскресенье марта, то есть после США, и в
последнее воскресенье октября, то есть перед США (см. выше Timeline).
Это создает промежуточный период, в котором США и ЕС имеют разницу во времени
, отличную от обычной разницы в 5 часов (Лондон), 6 часов (Франкфурт, CET) или 7 часов (Кипр, EET).
В этот промежуточный период данное изменение разницы во времени должно отражаться в измененных
временных метках первого и последнего часов сессии FOREX. Таким образом, если сессия FOREX начинается
в понедельник в 00:00 (EET, время MQ), то после изменения времени США она должна начинаться на час раньше,
т.е. в воскресенье в 23:00 и заканчиваться на час раньше в пятницу, т.е. в 23:00 (или 22:59:59).
Но, к сожалению, мне пришлось обнаружить (и с помощью этого скрипта любой может проверить это у своего брокера)
, что на демо-счете MQ и на счетах некоторых реальных брокеров первый час всегда(!) появляется
в понедельник в 00:00, а последний час, как и ожидалось,
в пятницу в 23:00 (или 22:59) или на один час раньше. Это означает, что первый час
сессии FOREX, в который трейдер или советник мог бы реагировать на события выходных, отсутствует.
Также конец сессии FOREX больше нельзя определить, просто добавив 120
к первому часу сессии FOREX, например, чтобы закрыть все позиции перед выходными.
Этот скрипт теперь проверяет изменения времени брокера в прошлом и регистрирует все сессии FOREX
, которые явно неправильные (нечетные) или не 120 часов. Если между первым и последним часом сессии FOREX прошло 120 часов
, то ничего не регистрируется.
В конце скрипт выводит последнюю полученную временную метку, количество найденных нечетных сессий
и приблизительное количество лет, которые были проверены.
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.
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.
Если FOREX-Sitzung начинается с 00:00 (EET, MQ-Zeit), то в США он начинается на один день раньше, также с 23:00 Sonntag,
и заканчивается на один день раньше, также с 23:00 Uhr (или 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 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. Если между
первой и последней сессиями FOREX-сессии 120 минут, то в журнале не будет никаких изменений.
В конце скрипта выводится значение Zeitstempel, die Anzahl der gefundenen
verkürzten Sitzungen und die ungefähre Anzahl der überprüften Jahre.
Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/55056

Продвинутый зигзаг MetaQuotes с режимом осциллятора, отслеживанием ног текущего бара, фиб-уровнями и динамическим масштабированием

Модифицированный стандартный индикатор ZigZag с добавлением информации о длине волны в пунктах, уровней и разной логики алертов

Панель смены символов: Легко переключайте активный символ на вашем графике, одновременно добавляя новый символ в Market Watch. Этот инструмент обеспечивает беспрепятственную интеграцию и доступ к рыночным данным в режиме реального времени, оптимизируя ваш торговый процесс.

Set Auto TP and SL: Функция "Set Auto TP and SL" (Take Profit и Stop Loss) - важнейший инструмент любой торговой стратегии, предназначенный для автоматизации управления риском и вознаграждением. Она позволяет трейдерам определять фиксированные ценовые уровни, на которых сделка должна быть автоматически закрыта для обеспечения прибыли (TP) или ограничения убытков (SL), устраняя необходимость постоянного ручного контроля. Когда эта функция включена, каждая открытая вами позиция будет автоматически включать предопределенные уровни Take Profit и Stop Loss на основе ваших пользовательских параметров, таких как определенное количество пунктов, процент от баланса или технические уровни. Это не только экономит время, но и гарантирует, что ваши сделки будут защищены от внезапных движений рынка и принятия эмоциональных решений.