Обсуждение статьи "MetaTrader 5 и экономический календарь MQL5: как превратить новости в воспроизводимую торговую систему"

 

Опубликована статья MetaTrader 5 и экономический календарь MQL5: как превратить новости в воспроизводимую торговую систему:

В статье системно изложен подход к новостной торговле в MetaTrader 5 на базе встроенного экономического календаря: структура данных, функции API, правила синхронизации времени и фильтрация событий. Описаны методы кэширования и инкрементального обновления без перегрузки сервера. Приведён рабочий механизм экспорта истории в ресурс .EX5 для детерминированного тестирования тем же алгоритмом.

Главные проблемы современного новостного трейдера — разрозненность инструментов и отсутствие алгоритмизации торговой системы. Попробуйте разорваться между интернет-браузером (просматривая новостные сайты) и торговым терминалом, совершая сделки.

Рабочий процесс новостного трейдера выглядит так: Быстро открыть календарь новостей в интернет браузере и просмотреть события — не изменились ли → Опять же быстро оценить ближайшие события и принять решение — что и как торговать → Перейти в терминал MetaTrader 5 — либо поставить отложенные ордера, либо сидеть у терминала и ждать времени выхода новости, чтобы принять решение. При таком сценарии у трейдера часто происходит разрыв контекста, что приводит к задержкам в реакции на новости, а это ведет к убыткам.

Вы хотите, чтобы торговля на новостях работала как инженерная задача — с чёткими правилами, повторяемыми результатами и возможностью автоматического тестирования? Цель статьи — показать рабочую архитектуру новостного слоя для MetaTrader 5: единый источник данных, корректная работа с API календаря, механизм фильтрации и кэширования, экспорт исторических событий в ресурс для тестера и автоматическое переключение между Live и Tester — чтобы один и тот же код давал детерминированные результаты и в реальном времени, и на истории.


Автор: MetaQuotes

 

Спасибо за статью - очень интересно - буду разбираться как это работает... сам хотел через вайб коды и ai агентов подключить через новости и парсер твиттера - тс сделать... можно и гибрид организовать mql5 с ai агентами....

 
Roman Shiredchenko #:

Спасибо за статью - очень интересно - буду разбираться как это работает... сам хотел через вайб коды и ai агентов подключить через новости и парсер твиттера - тс сделать... можно и гибрид организовать mql5 с ai агентами....

Зачем парсинг чего-то, если весь вписок со всеми подробностями уже есть в терминале? Да и ии/аи тоже есть)
 
Dmitriy Skub #:
Зачем парсинг чего-то, если весь вписок со всеми подробностями уже есть в терминале? Да и ии/аи тоже есть)

круть надо - и смотреть.... и вайб кодить.... )

 

Написано:

Если брокер учитывает переход на летнее/зимнее время — календарь автоматически подстраивается под этот переход

Поправьте меня, если что-то изменилось в MQL5 API, но раньше календарь подстраивался под ТЕКУЩЮЮ временную зону с учетом DST, то есть летом запросы функций возвращают временные метки, например, в зоне UTC+3, а запрос того же самого участка истории зимой получит события с метками в зоне UTC+2, если сервер производит переход на DST и обратно. Таким образом, для точной выгрузки истории календаря на протяжении полугода и более нужно анализировать историю переводов часового пояса брокера. Подробности в кодобазе.

Также подход с линковой кеша календаря в виде ресурса кажется малопрактичным и, в частности, провоцирует ошибки, о которых сказано в самой статье (типа, не забывайте перекомпилировать эксперт). Почему не задавать кеш календаря во входном параметре как файл из папки Common, доступной для всех агентов?

Economic Calendar Monitor and Cache for Backtesting on History
Economic Calendar Monitor and Cache for Backtesting on History
  • 2024.11.10
  • www.mql5.com
This indicator displays current events on the chart and allows you to export the calendar to archives for backtesting, automatically fixing time discrepancies between the history of bars and the history of events. This is an improved version of CalendarMonitorCached indicator from the algotrading book.
 
Поправьте меня, если что-то изменилось в MQL5 API, но раньше календарь подстраивался под ТЕКУЩЮЮ временную зону с учетом DST, то есть летом запросы функций возвращают временные метки, например, в зоне UTC+3, а запрос того же самого участка истории зимой получит события с метками в зоне UTC+2, если сервер производит переход на DST и обратно. Таким образом, для точной выгрузки истории календаря на протяжении полугода и более нужно анализировать историю переводов часового пояса брокера. Подробности в кодобазе.

а почему котировки (вообще все временные метки) не ведётся например в UTC ? 

зачем тики дилеров имеют разное численное представление одного и того-же отсчёта времени

философский вопрос :-) так повелось, хотя это и неверно и порождает проблемы на ровном месте. 


ЗЫ. поэтому "исторические новости" лучше брать из других источников.

И никогда не надо самому "анализировать историю переводов часов" - это всё есть, это функция ОС или на край системных библиотек. Гугли tzdata

сколько можно делать велосипеды, причём кривые

 
Stanislav Korotky #:

раньше календарь подстраивался под ТЕКУЩЮЮ временную зону с учетом DST, то есть летом запросы функций возвращают временные метки, например, в зоне UTC+3, а запрос того же самого участка истории зимой получит события с метками в зоне UTC+2, если сервер производит переход на DST и обратно.

У меня такое же представление сложилось.
 
Maxim Kuznetsov #:


ЗЫ. поэтому "исторические новости" лучше брать из других источников.

И никогда не надо самому "анализировать историю переводов часов" - это всё есть, это функция ОС или на край системных библиотек. Гугли tzdata

сколько можно делать велосипеды, причём кривые


Другие источники проблему не решат, т.к. она зарыта в способе хранения котировок в МТ5.

Покажите для начала свой прямой велосипед, а потом уже давайте советы.

 
MetaQuotes:

Основными проблемами современного новостного трейдера являются разрозненность инструментария и отсутствие систематического, алгоритмического торгового процесса. Довольно сложно разделить свое внимание между интернет-браузером (просмотр новостных сайтов) и торговым терминалом при совершении сделок.

Рабочий процесс новостного трейдера выглядит следующим образом: Быстро открыть календарь новостей в веб-браузере и проверить изменения в событиях → Быстро оценить предстоящие события и решить, что и как торговать → Перейти к терминалу MetaTrader 5 - либо выставить отложенные ордера, либо сесть за терминал и ждать выхода новостей, чтобы принять решение. При таком сценарии трейдер часто теряет контекст, что приводит к задержкам в реагировании на новости, а это, в свою очередь, ведет к убыткам.

Хотите ли вы, чтобы торговля новостями работала как инженерная задача - с четкими правилами, повторяющимися результатами и автоматизированным тестированием? Цель этой статьи - продемонстрировать рабочую архитектуру новостного слоя для MetaTrader 5: единый источник данных, правильное использование API календаря, механизм фильтрации и кэширования, экспорт исторических событий на ресурс для тестировщика, автоматическое переключение между Live и Tester - чтобы один и тот же код выдавал детерминированные результаты как в реальном времени, так и на исторических данных.

Да, это настоящая болевая точка для новостной торговли.

Переключение между браузером, календарем и терминалом нарушает фокус и сильно замедляет реакцию. Наличие унифицированного рабочего процесса или системы, которая подтягивает новости непосредственно в торговую среду, определенно сделает их исполнение более быстрым и последовательным.

Идея превратить это в структурированную, повторяющуюся настройку "в инженерном стиле" с тестированием и автоматизацией действительно имеет большой смысл, чтобы избежать эмоциональных или запоздалых решений.