Каждый сессионный фильтр в советнике написан с учетом серверного времени, а серверное время зависит от того, какие часы выбрал брокер. Некоторые серверы работают по UTC, некоторые — по UTC+2 зимой и UTC+3 летом, причем те, у которых происходит смена времени, не все переходят на новое время в один и тот же уик-энд. Этот инструмент считывает время из собственной ценовой истории символа, а не из сообщений на форуме: торговая неделя на Forex и CME заканчивается в 17:00 по нью-йоркскому времени, поэтому сравнение серверного времени каждого недельного закрытия с этим моментом в формате UTC позволяет определить смещение сервера для данной недели. За последние 60 недель это составляет около 60 измерений — по одному на каждое закрытие — и по их последовательности инструмент определяет, сдвигались ли часы, когда и по какому календарю — американскому или европейскому переходу на летнее время. Затем он выводит время сервера, в которое открываются рынки Лондона, Нью-Йорка, Токио и Сиднея в каждую из предстоящих недель.

Демо-сервер Exness, пять символов в окне «Market Watch», по 60 недель баров H1 для каждого, один проход за 12,3 мс. «Now» — смещение последнего регулярного закрытия; «Calendar» указывает: фиксированное, США или ЕС, а также находится ли дата перехода на летнее время в США и в Европе в пределах окна (проверено); «Нестандартные» учитывает закрытия, не совпадающие с соседними — в данном случае четыре ранних закрытия по золоту в дни американских праздников; «Воскресенья» учитывает серверные воскресенья, в которых есть хотя бы один бар. Торговля BTCUSD ведётся круглосуточно, и у неё нет фиксированного закрытия. Снимок сделан при размере шрифта панели 4 для вписывания в страницу; по умолчанию — 8.
Проблема
Фильтр сессии, например «торговля с 10:00 до 13:00», представляет собой условие, относящееся к Лондону или Нью-Йорку, заданное по серверному времени. Он остается верным только до тех пор, пока разница между этими двумя часами не меняется, а два раза в год это не так. Европа и США переводят часы в разные выходные — в 2026 году США перевели часы вперёд 8 марта, а Европа — 29 марта, а осенью Европа переводит часы назад 25 октября, а США — 1 ноября. В течение трёх недель весной и одной недели осенью Лондон опережает Нью-Йорк на четыре часа вместо пяти, и сервер, следующий одному из этих двух календарей, не синхронизируется с другим городом.
Какая из этих недель затрагивает конкретный EA, зависит от собственного правила сервера, а это правило редко записывается в формате, доступном для чтения программой. Функция TimeTradeServer() − TimeGMT() возвращает сегодняшнее смещение, но оно рассчитывается на основе часов и часового пояса ПК и ничего не говорит ни о прошлом марте, когда проводился бэктест, ни о следующем месяце.
Что измеряется
Ориентир. Межбанковская неделя на рынке Forex, а также неделя CME для фьючерсов на металлы и американские индексы заканчивается в 17:00 по часовому поясу America/New_York. При каждой паузе в истории H1 символа продолжительностью не менее InpMinGapHours часов (по умолчанию 20) инструмент принимает close = время открытия последнего бара H1 перед паузой + 1 час, а U = момент времени 17:00 по Нью-Йорку, ближайший к нему, преобразованный в UTC с учётом правил перехода на летнее время в США. close − U — это смещение сервера на момент закрытия. Праздничные паузы (сочельник, канун Нового года) заканчиваются в то же время 17:00 и также считаются якорями.
При наличии нескольких символов в качестве окончательного результата принимается наиболее распространённое смещение и календарь, а символы, которые не соответствуют этим данным, указываются в журнале — например, CFD на акции, торги по которым закрываются в 16:00 по нью-йоркскому времени, показывают смещение в минус один час, а криптовалютный символ, торгуемый круглосуточно, не имеет времени закрытия вообще.
Три демо-сервера, три часовых пояса
Прилагается к графику EURUSD, H1, на 7 октября 2026 года; 60 недель баров H1 вплоть до самого последнего бара (с 13.08.2025 по 07.10.2026); все настройки по умолчанию, за исключением списка символов (* на Exness, на двух других — указанные символы).
| сервер | символы | закрытия | смещение сейчас | календарь | переключатели замечено (первое закрытие после) | нерегулярные закрытия | воскресенья с целыми свечами |
|---|---|---|---|---|---|---|---|
| Exness-MT5Trial17 | EURUSD, GBPUSD, USDJPY, XAUUSD | по 62 | UTC+0 | нет, протестировано | — | XAUUSD 4, остальные 0 | 60 |
| ICMarketsSC-Demo | EURUSD, GBPUSD, USDJPY | по 62 | UTC+3 | США | 08.11.2025 −1 ч, 14.03.2026 +1 ч | 0 | 0 |
| MetaQuotes-Демо | EURUSD, GBPUSD, USDJPY, XAUUSD | 62 / 40 / 40 / 62 | UTC+3 | ЕС по всем 4; смещение: 3 из 4 согласны | 31.10.2025 −1 ч, 04.04.2026 +1 ч | EURUSD 1, XAUUSD 4 | 0 |

Смещение, вытекающее из каждого закрытия EURUSD в 17:00 по Нью-Йорку на трёх демо-серверах, бары H1 с 01.08.2025 по 07.10.2026, 64 закрытия на каждый сервер, одна точка на каждое закрытие; пунктирные линии обозначают переключения в США, штриховые — в Европе. График построен на основе временных данных баров H1, полученных с помощью пакета Python для MetaTrader 5 и интерфейса MCP терминала, а не на основе собственных данных инструмента.
Exness: UTC в течение всего года. Каждое из 62 закрытий имеет значение +0:00, включая перерывы в канун Рождества и Нового года. Изменяется само время закрытия: последний бар H1 недели заканчивается в 21:00 по серверному времени, пока в Нью-Йорке действует летнее время (с середины марта до начала ноября), и в 22:00 в остальное время года. Каждое воскресенье имеет свечи, начинающиеся в 21:00 или 22:00, поэтому на дневных графиках появляется шестая, короткая свеча. У золота наблюдается такое же смещение и добавляются четыре нестандартных закрытия, все из которых связаны с ранним закрытием торгов в связи с праздниками в США: «Черная пятница» 28.11.2025 (−2 ч), канун Рождества (−3 ч), День освобождения рабов 19.06.2026 и пятница 03.07.2026 (по −4 ч).
IC Markets: UTC+2 зимой, UTC+3 летом, по календарю США. Смещение меняется между закрытиями 1 и 8 ноября 2025 года, а также 7 и 14 марта 2026 года — в те выходные, когда в США переводили часы. Торговая неделя на Форекс длится с 00:00 понедельника до 24:00 пятницы по серверному времени в течение всего года, без свечей по воскресеньям.
MetaQuotes-Demo: UTC+2 / UTC+3 по европейскому календарю. Переключения происходят между закрытиями 25 и 31 октября 2025 года и 27 марта и 4 апреля 2026 года. Одно закрытие пары EURUSD является нестандартным: в пятницу, 13 марта 2026 года, в период между переходом на летнее и зимнее время в США и Европе, последний бар завершился в 00:00 по серверному времени, через час после 17:00 по нью-йоркскому времени, в то время как закрытия до и после него произошли в установленное время. Для пар GBPUSD и USDJPY на этом терминале имеется история на графике H1 только с января 2026 года, поэтому они отражают только весенний переход. Золото расходится с этими тремя парами и упоминается в журнале: с момента весеннего перехода на европейское время весной 2026 года его недельное закрытие остается в 23:00 по серверному времени, за час до 17:00 по нью-йоркскому времени, так что по себе оно сейчас отображается как UTC+2:00.
Что это означает для ближайших недель. Три прогноза от 7 октября 2026 года: на Exness Лондон открывается в 07:00 по серверному времени до 23 октября и в 08:00 с 26 октября, Нью-Йорк — в 12:00 до 30 октября и в 13:00 с 2 ноября. На платформе IC Markets Лондон открывается в 10:00, за исключением недели с 26 октября, когда открытие происходит в 11:00. На MetaQuotes-Demo Нью-Йорк открывается в 15:00, за исключением той же недели, когда открытие происходит в 14:00. Фильтр, заданный как «Лондон 10:00» или «Нью-Йорк 15:00», будет правильным как для серверов UTC+2/+3 в течение 48 из 52 недель 2026 года и будет неверным в остальные четыре — три весной и одну осенью, причём каждый фильтр будет работать на отдельном сервере; в 2027 и 2028 годах весенний разрыв составит две недели.
На всех трёх активных соединениях перекрёстная проверка совпала с историей: TimeTradeServer() − TimeGMT() дало +3:00 на IC Markets и на MetaQuotes-Demo, +0:00 на Exness. При подготовке этой страницы один терминал был запущен без входа в систему; в автономном режиме разница на сервере с отклонением +3:00 составляла +0:00. Поэтому инструмент пропускает проверку, записывая одну строку в журнал, когда терминал не подключен.
Независимая проверка отчёта
Отчет можно пересчитать вне MetaTrader. Скрипт, используемый для этой страницы, считывает только окно из файла сводки, извлекает те же временные метки баров H1 — через интерфейс MCP терминала на Exness и через пакет Python для MetaTrader 5 на двух других серверах — и пересчитывает всё описанное выше с использованием базы данных часовых поясов Python вместо собственных правил перехода на летнее время инструмента: каждая строка-якорь, каждая строка переключения и её календарь, каждый суммарный счётчик, смещение и календарь вердикта, а также каждая строка прогноза. В трёх приведённых здесь прогонах результаты совпадают по 328, 250 и 284 значениям без единого расхождения. Его собственные определения сначала были проверены на десяти вручную подготовленных примерах — восьми синтетических сериях баров (фиксированные, американские, европейские, инвертированные переключения, паузы на праздники, пробел в данных, два досрочных закрытия с интервалом в неделю) и двух прогнозах — и все десять специально вставленных в него ошибок были обнаружены.
Как использовать
Прикрепите советник к любому графику. Если поле InpSymbols пусто, он проверяет символ графика; * проверяет все символы в «Обзоре рынка»; список, разделённый запятыми, проверяет указанные символы. Выбирайте символы, которые закрываются на выходных — основные валюты, золото, фьючерсы на индексы; у криптовалютных символов нет закрытия, которое можно измерить. Аудит запускается один раз (или каждые InpRefreshMinutes), выводит в журнал советника по одной строке на каждый символ, указывая нерегулярные значения закрытия, переключения, вердикт и прогноз, рисует таблицу на графике и записывает файлы в формате CSV. Программа читает только исторические данные: в коде нет торговых функций, нет DLL и нет доступа к сети. При наличии символа * считываются только те символы, которые уже находятся в окне «Market Watch». Инструмент никогда не выбирает символ, но когда указанный символ отсутствует в «Market Watch» и его историю сначала необходимо загрузить, терминал добавляет его туда самостоятельно (проверено: EURCHF и AUDNZD были добавлены при первом чтении, AUDUSD, прочитанный во второй раз, — нет); журнал указывает такие символы перед первым чтением.
Сначала прочитайте журнал. На IC Markets строка EURUSD выглядит так:
EURUSD 62 якорных значения (60 выходных, 2 праздничных) | сейчас UTC+3:00 | видно +2:00 +3:00 | 2 переключения: 08.11.2025 США -60, 14.03.2026 США +60 | режим США, dst_tested 1 | нерегулярный 0 | воскресные бары 0 дней
Здесь указано, что EURUSD закрывался 62 раза в этом окне, сервер сейчас опережает UTC на три часа, а ранее опережал на два, и переход на летнее время происходил дважды: назад на час в неделю перед 8 ноября 2025 г. и вперёд в неделю перед 14 марта 2026 г., оба раза по датам США. В приведенных ниже линиях прогноза указано серверное время каждого открытия в дни, когда оно меняется, например
прогноз 26.10.2026 пн смещение +3:00 Лондон 11:00 Нью-Йорк 15:00 Токио 03:00 Сидней Вс 23:00 (Лондон)
Используются несколько символов, которые останавливаются на выходных: вердиктом является их большинство, а символ, не согласный с этим, называется.
Входные данные
| входные данные | по умолчанию | значение |
|---|---|---|
| InpSymbols | "" | Символы: пустое поле = символ графика, * = «Наблюдение за рынком», в остальных случаях — список в формате CSV |
| InpWeeks | 60 | Количество недель истории H1 для чтения (60 охватывает оба периода перехода на летнее и зимнее время) |
| InpMinGapHours | 20 | Пауза в котировках такой продолжительности означает закрытие рынка (выходные/праздники) |
| InpProjectWeeks | 8 | Количество недель с момента открытия сессии до проекта по серверному времени |
| InpLondonOpen | 08:00 | Открытие торгов в Лондоне, по местному времени в Лондоне |
| InpNewYorkOpen | 08:00 | Открытие рынка в Нью-Йорке, по местному времени в Нью-Йорке |
| InpTokyoOpen | 09:00 | Открытие торгов в Токио, по местному времени в Токио |
| InpSydneyOpen | 07:00 | Открытие торгов в Сиднее, по местному времени в Сиднее |
| InpMaxExamples | 5 | Журнал: количество напечатанных нерегулярных якорей на символ |
| InpWriteCsv | true | Запись CSV-файлов с анкорами, переключателями, сводкой, прогнозом и вердиктом |
| InpShowPanel | true | Построить таблицу результатов на графике |
| InpPanelCorner | CORNER_LEFT_UPPER | Угол панели |
| InpPanelFontSize | 8 | Размер шрифта панели |
| InpPanelX | 10 | Смещение панели по оси X, пикселей |
| InpPanelY | 18 | Смещение панели по оси Y, пикселей |
| InpRefreshMinutes | 0 | Повторная проверка каждые N минут (0 = проверка один раз) |
Значения, выходящие за пределы диапазона (недели вне диапазона от 2 до 520, пауза вне диапазона от 6 до 60 часов, прогноз вне диапазона от 1 до 52 недель, время работы, не представленное в формате ЧЧ:ММ), ограничиваются или сбрасываются до значений по умолчанию с записью одной строки в журнале для каждого случая; советник никогда не отказывается запускаться.
Выходные файлы
Все файлы сохраняются в папке MQL5\Files\BrokerClockAuditor\, разделены точкой с запятой и содержат строку заголовка, именованы по формату <символы>_<недели>w_<идентификатор графика>_…, чтобы файлы двух графиков никогда не перезаписывали друг друга.
Ограничения, изложенные просто
Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/78123
Advanced Prop-firm Trade Panel based on S-R
Панель для ручной торговли со встроенной системой защиты от рисков для проп-фирм и скрытым инструментом для поиска уровней поддержки и сопротивления для MetaTrader 5.
CajasTF — интегрированная боковая панель с несколькими таймфреймами для MT5
Мини-график на боковой панели, отображающий данные в реальном времени по нескольким таймфреймам, с интеллектуальной цветовой схемой, независимой ценовой шкалой и таймером обратного отсчёта свечей.
Prop Daily Loss Meter
Показывает, какая часть дневного лимита убытков на счете проп-фирмы уже использована, а какая осталась. Индикатор, доступный только для чтения.
YURAZ_MCCH
Индикатор рассчитывает % роста или падения относительно CLOSE, написан с применением ООП, и легко интегрируется в любой советник или иной индикатор.