Обсуждение статьи "Возможности Мастера MQL5, которые вам нужно знать (Часть 21): Тестирование с данными экономического календаря"
Кэширование встроенного экономического календаря для тестирования и оптимизации советников было описано в книге по алготрейдингу.
Ваша реализация чтения событий (CSignalEconData::Read) неэффективна и вряд ли целесообразна.
PS. Для работы с SQLite из тестера необходимо создать/поместить базу данных в общую папку и открыть ее с флагом DATABASE_OPEN_COMMON.
- www.mql5.com
Поиск конкретного времени даты реализован через прямой цикл по всему массиву событий при каждом вызове, что загружает процессор в геометрической прогрессии. Кроме того, на каждой итерации вызываются StringToTime и StringToDouble.
При тестировании в течение года или более тысяч экономических событий это будет существенно замедляться, не говоря уже об оптимизации.
Поиск конкретного времени даты реализован через прямой цикл по всему массиву событий при каждом вызове, что загружает процессор в геометрической прогрессии. Кроме того, на каждой итерации вызываются StringToTime и StringToDouble.
При тестировании в течение года или более тысяч экономических событий это будет существенно замедляться, не говоря уже об оптимизации.
Спасибо за пояснения.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Возможности Мастера MQL5, которые вам нужно знать (Часть 21): Тестирование с данными экономического календаря:
Данные экономического календаря по умолчанию недоступны для тестирования с помощью советников в тестере стратегий. Мы рассмотрим, как базы данных могут помочь обойти это ограничение. В частности, мы увидим, как можно использовать базы данных SQLite для архивирования новостей Экономического календаря, чтобы советники, собранные с помощью Мастера, могли использовать их для генерации торговых сигналов.
Экономические данные могут усилить торговую систему, поскольку они больше ориентированы на "фундаментальные" показатели ценных бумаг, а не на "технические", которые более распространены в виде традиционных и пользовательских индикаторов и других инструментов анализа ценового поведения. Эти "фундаментальные" показатели могут включать в себя темпы инфляции, процентные ставки центральных банков, уровень безработицы, данные о производительности труда и множество других новостных данных, которые обычно оказывают большое влияние на цены торговых инструментов, о чем свидетельствует их волатильность при каждом выходе данных. Самым известным из них, вероятно, является показатель занятости вне сельскохозяйственного сектора, который публикуется почти каждую первую пятницу месяца. Наверняка существуют и другие ключевые новостные данные, которые упускаются из виду большинством трейдеров. Именно поэтому тестирование стратегий, основанных на этих новостных экономических данных, может помочь выявить некоторые из них и, следовательно, предоставить трейдеру преимущество.
Базы данных SQLite можно создавать в среде разработки MetaEditor, и, поскольку они представляют собой хранилища данных, в теории мы можем использовать их в качестве источника данных для советника, чтобы они действовали как буферы индикаторов. Более того, они могут хранить экономические данные локально, что позволяет легко проводить тестирование офлайн, а также использовать их в случае, если источник новостных данных будет поврежден, что представляет собой постоянный риск, поскольку большинство точек данных устаревает. В частности, мы увидим, как можно использовать базы данных SQLite для архивирования новостей Экономического календаря, чтобы советники, собранные с помощью Мастера, могли использовать их для генерации торговых сигналов.Автор: Stephen Njuki