Бэктестинг торговых советников MetaTrader по историческим данным - это хороший способ тестирования стратегии. Но тестирование данных по умолчанию, доступных в вашей установке MT4, дает очень низкое качество тестирования (обычно ниже 50%). Итак, как добиться качества 90 % при бэктестинге торговых советников MT4 на основании исторических данных? Это не так сложно на самом деле. Просто следуйте этому простому руководству, и вы сможете протестировать любой торговый советник MetaTrader EA с качеством моделирования не менее 90%.
Это руководство было составлено, чтобы предоставить точную информацию о качестве моделирования 90 % и 99,9 %, а также представить простой способ получения качественных исторических данных на вашей платформе MT4.
Рекомендуется использовать отдельную установку MT4, чтобы настроить там качественные данные бэктестинга и избежать их перезаписи потенциально ошибочными данными брокера.
1. Загрузите новый установщик MetaTrader 4 и установите его в отдельную папку. Имейте в виду, что хорошие исторические данные MetaTrader занимают много места на диске — ожидайте, что они будут занимать около 1 ГБ свободного места за два года данных. Чтобы загрузить установщик MT4, я рекомендую выбрать одного из Forex-брокеров MT4, поскольку вы больше не можете скачать MetaTrader 4 с официального сайта MetaQuotes.
2. Запустите только что установленный MetaTrader и войдите в демо-счет своего брокера. Теперь закройте все открытые графики.
3. Перейдите в меню Файл->Открыть папку данных. Откроется папка со всеми данными платформы. Затем закройте платформу.

3. Откройте подпапку История в папке данных платформы и удалите там все (фактическое содержимое вашей папки История может отличаться от того, что вы видите на скриншоте):


4. Запустите МТ4 еще раз. Настройте параметры MetaTrader, чтобы разрешить больше баров в истории графиков с помощью Инструменты->Параметры->Графики:


5. Перейдите в Центр истории MT4(

6.

7. Щелкните Загрузить — может появиться предупреждающее сообщение (нажмите OK, если оно появится):

8. После того, как процесс загрузки завершится, вы увидите там некоторые данные M1:

9. Перейдите в Файл->Открыть в автономном режиме и откройте график M1, для которого вы только что загрузили данные:


10. Откроется график. Найдите сценарий PeriodConverter
в Сценарии с помощью Навигационной панели (это сценарий по умолчанию, предоставленный MetaQuotes). Запустите его на графике, установив Множитель периода в зависимости от временных рамок, необходимых для теста. Здесь вы видите, что он установлен для преобразования M30:

11. Проверьте вкладку Эксперты на панели Терминала, чтобы убедиться, что сценарий успешно завершил свою работу:

12. Теперь, если я протестирую какой-нибудь советник на таймфрейме M30 с моделью Каждый тик, качество моделирования будет 90%:

Начиная с 940-й сборки MetaTrader 4, 90 % — это максимальное качество моделирования, достижимое при тестировании на исторических данных без использования пользовательских взломов данных тиковых котировок. Качество моделирования 99,9% может быть достигнуто за счет использования
Создание пользовательского файла .fxt — довольно сложный процесс, и шаги процесса различаются в зависимости от инструментов, которые вы решите использовать. Я рекомендую использовать QuantDataManager от StrategyQuant, поскольку он бесплатный, позволяет загружать данные тиковых котировок Dukascopy за длительные периоды времени и преобразовывает данные тиковых котировок .csv в исторические данные .fxt и .hst, используемые MetaTrader 4. Другие подобные инструменты включают в себя Tickstory и Tick Data Suite от Birt Ltd.
Обсудить этот и другие способы получения качественных исторических данных для бэктестинга в MetaTrader 4 можно на нашем форуме, посвященном платформе MT4.
Знаете ли вы? MetaTrader 5 изначально поддерживает бэктестинг на основании реальных данных тиковых котировок. Даже если ваш брокер MT5 не предоставляет качественные реальные данные тиковых котировок за период и для валютной пары, на которой вы хотите провести бэктестинг, вы можете переключиться на брокера, который предоставляет такие данные. Использование сторонних поставщиков данных для MetaTrader 5 редко имеет смысл.