Обсуждение статьи "Разработка советника для анализа новостных событий о пробоях на основе календаря на MQL5"

 

Опубликована статья Разработка советника для анализа новостных событий о пробоях на основе календаря на MQL5:

Волатильность, как правило, достигает пика во время важных новостных событий, создавая значительные возможности для пробоя. В настоящей статье мы расскажем о процессе реализации основанной на календаре стратегии прорыва. Мы рассмотрим все, начиная с создания класса для интерпретации и хранения календарных данных, разработки реалистичных бэк-тестов на основе этих данных и, наконец, реализации кода исполнения для реальной торговли.

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

Мотивация для создания торговой стратегии пробоя на основе календарных новостей заключается в том, чтобы использовать предсказуемое время запланированных новостных событий, таких как экономические отчеты, отчеты о прибылях и убытках или геополитические объявления, которые часто вызывают значительную волатильность рынка и колебания цен. Предвидя эти события, трейдеры стремятся извлечь выгоду из возможностей пробоя, когда цены решительно выходят за пределы установленных уровней поддержки или сопротивления после выхода новостей. Данная стратегия направлена на максимизацию прибыли за счет увеличения ликвидности и динамики, связанной с выпусками новостей, при одновременном использовании дисциплинированного управления рисками для преодоления возросшей неопределенности. В конечном счете, это обеспечивает структурированный подход к использованию паттернов и реакций, обычно возникающих на рынках в связи с ключевыми событиями календаря.


Автор: Zhuo Kai Chen

 

Привет, это замечательно, спасибо! Я немного запутался с вводом нескольких валют. Я пробовал:

"USD"; "GBP"

"USD"; "GBP".

"USD" "GBP";

Только последний вариант не выдает ошибку, но я не уверен, что он работает правильно. Может быть, он принимает только USD. Можете ли вы посоветовать?

 
hrawoodward #:

Привет, это замечательно, спасибо! Я немного запутался с вводом нескольких валют. Я пробовал:

"USD"; "GBP"

"USD"; "GBP".

"USD" "GBP";

Только последний вариант не выдает ошибку, но я не уверен, что он работает правильно. Может быть, он принимает только USD. Можете ли вы посоветовать?

Здравствуйте, если вы посмотрите на код в функции инициализации, то он будет разделять двоеточие и хранить разные валюты в атрибуте объекта curr. Первый вариант должен работать, хотя котировки добавлять не нужно. Процесс хранения будет сохранять все события в бинарный файл, независимо от их атрибутов. Только в торговой логике мы будем фильтровать по атрибутам. Вот что у меня получилось на данный момент:

настройки

результат

 
Похоже, что эта реализация не учитывает переключение часовых поясов (DST) на сервере брокера и, следовательно, дает неточные результаты при бэктестинге и оптимизации.
 
Stanislav Korotky #:
Похоже, что эта реализация не учитывает переключение часовых поясов (DST) на сервере брокера и, следовательно, дает неточные результаты при бэктестинге и оптимизации.

Спасибо, что напомнили! Я забыл учесть это в статье, так как использовал для демонстрации брокера, у которого нет DST.

https://www.mql5.com/ru/book/advanced/calendar

Из этого источника мы знаем, что данные календаря предоставляются со стороны MQL5, и они автоматически подстраиваются под текущий часовой пояс брокера Timetradeserver(), а это значит, что для брокеров с DST нужно будет скорректировать мой код и учесть это.

MQL5 Book: Advanced language tools / Economic calendar
MQL5 Book: Advanced language tools / Economic calendar
  • www.mql5.com
When developing trading strategies, it is desirable to take into account the fundamental factors that affect the market. MetaTrader 5 has a...
 
Zhuo Kai Chen #:

Из этого источника мы знаем, что данные календаря предоставляются со стороны MQL5, и они автоматически подстраиваются под текущий часовой пояс брокера Timetradeserver(), а это значит, что для брокеров с DST нужно будет скорректировать мой код и учесть это.

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

Backtesting news trading based on economic calendar history with adjusted timings
Backtesting news trading based on economic calendar history with adjusted timings
  • 2025.05.14
  • www.mql5.com
This blogpost presents some further results of experiments with news trading based on the built-in calendar of MetaTrader 5 and MQL5. Originally, the idea was implemented in the algotrading book as a
 
Брат, этот файл CalendarHistory.mqh не компилируется, 4 ошибки, 94, 106, 114, 122 строки.