Обсуждение статьи "Трейдинг с экономическим календарем MQL5 (Часть 7): Подготовка к тестированию стратегий с анализом новостей"

 

Опубликована статья Трейдинг с экономическим календарем MQL5 (Часть 7): Подготовка к тестированию стратегий с анализом новостей:

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

В среде MQL5 исторические данные экономических событий не хранятся длительное время, поэтому для разработки и тестирования стратегий на новостях статические данные нужно интегрировать. В отличие от реальной торговли, где платформа может получать новости в реальном времени, тестер не имеет доступа к динамическим обновлениям. Он не хранит огромные архивы прошлых событий, поэтому протестировать новостную стратегию стандартными средствами не получится. Однако мы можем загрузить данные из внешних источников и сохранить в нужном формате, например в файле или в виде добавляемых ресурсов. Так мы получим контроль над единым набором данных, который можно будет затем использовать в разных тестах и тестировать разные стратегии в одинаковых условиях.

Помимо обхода ограничений платформы, мы получим дополнительные преимущества, которые недоступны при работе с live-лентами. Экономический календарь содержит важные сведения о событии — дату и время событий, валюты, важность новости. Однако они не всегда сохраняются в формате, пригодном для алгоритмического анализа на длительных периодах. Мы можем структурировать эти данные вручную и адаптировать под собственные задачи. Например, фильтровать по конкретным валютам или важности, чтобы глубже анализировать влияние новостей на поведение рынка независимо от того, доступны они или нет.

Кроме того, такой подход повышает эффективность и автономность. Если у нас есть предварительно собранный набор статических данных, во время тестирования мы не зависим от интернет-соединения или сторонних сервисов. То есть у нас меньше переменных, которые могут исказить результаты. Это также дает возможность моделировать редкие или специфические сценарии, крупные экономические новости, сформировать наборы данных на годы или более точные по каким-то ключевым событиям. Это сложно воспроизвести в реальном времени или с ограниченным хранилищем платформы. Таким образом, мы переносим точность событий реального времени в историю, и нам доступно больше возможностей в тестере.

Полученные данные нужно как-то хранить, и MQL5 дает множество вариантов: текстовые форматы (txt), CSV, форматы American National Standards Institute (ANSI), бинарные (bin), Unicode, а также различные варианты организации баз данных.

Форматы хранения данных в MQL5

Мы будем использовать не самый простой, но наиболее удобный формат — CSV. Данные всегда будут под рукой, и нам не придется тратить кучу времени на тестирование стратегии, что сэкономит массу времени и энергии. Поехали.


Автор: Allan Munene Mutiiria