Отличная статья и хорошо продуманный код.
Мне понравился подход, который вы использовали для получения типа DST брокера через реакцию цены на NFP США на графиках EURUSD, он работает безупречно.
Я также протестировал корректировку dst на события Non-farm payrolls (NFP) США на нескольких брокерах (DST_NONE, DST_UK и DST_US) и показал, что они правильно рассчитываются внутри метода CDaylightSavings_AU::adjustDaylightSavings() и его братьев и сестер в двух других классах. Однако производительность процесса определения времени суток можно значительно повысить, если напрямую вычислять время переключения dst с помощью математических уравнений вместо линейного поиска по CArrayObj() жестко закодированных значений. См. здесь.
Также обратите внимание, что SymbolInfoString(SymName,SYMBOL_CURRENCY_BASE) может не сработать у некоторых брокеров, которые неправильно настраивают это свойство на своих серверах (они"ошибочно" устанавливают базовую валюту EURUSD в USD вместо EUR), поэтому безопаснее использовать StringSubstr(SymName,0,3).
Спасибо.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Упрощаем торговлю на новостях (Часть 1): Создаем базу данных:
Торговля на новостях может быть сложной и утомительной. В этой статье мы рассмотрим шаги по получению новостных данных. Кроме того, мы узнаем об экономическом календаре MQL5 и о том, что он может предложить.
В этой статье мы научимся создавать базу данных, в которой будем хранить данные из экономического календаря MQL5. Эти данные будут использоваться в будущих статьях для торговли новостями. Мы также рассмотрим, как выполнять базовые SQL-запросы для извлечения определенной структурированной информации из базы данных. Вся работа будет выполняться в среде MQL5 IDE.
Трейдеры внимательно следят за источниками новостей на предмет информации, которая может повлиять на рынки. Сюда входят геополитические события, объявления о доходах корпораций, политические события и экономические отчеты, такие как показатели роста ВВП или занятости. Трейдеры быстро реагируют на важные новости, чтобы извлечь прибыль из происходящих на рынке изменений. В зависимости от того, как интерпретируются новости, может возникнуть необходимость в покупке или продаже активов. В этой статье мы сосредоточимся на экономических событиях. Они доступны нам в экономическом календаре MQL5.
Для чего нужна база данных?
База данных — это структурированный набор данных, доступный в электронном виде. Базы данных могут эффективно хранить и управлять огромными объемами данных. В MQL5 мы работаем с базами данных SQLite, которые создаются и управляются ядром базы данных SQLite. Базы данных SQLite могут иметь любое расширение файла, но обычно это однодисковые файлы с расширениями .sqlite, .sqlite3 или .db. Эти файлы содержат все данные и структуру, присутствующие в базах данных, включая таблицы, триггеры, индексы и другие метаданные.
Базы данных идеально подходят для обработки больших наборов данных и упрощают процесс извлечения данных по определенной дате или событию без необходимости использования сложных циклов. Более того, экономический календарь MQL5 недоступен в тестере стратегий. Как проверить свою стратегию, основанную на новостях?
Автор: Kabelo Frans Mampa