Все (пока нет) о Стратегический тестировщик, Оптимизация и Облако - страница 19

 

В первую очередь доверяйте данным бэктеста: создание воспроизводимого аудита исторических данных на Python для MetaTrader 5

В первую очередь доверяйте данным бэктеста: создание воспроизводимого аудита исторических данных на Python для MetaTrader 5

Каждый результат бэктеста зависит от качества входных данных, однако лишь немногие проверяют эти данные перед расчётом статистических показателей. Трейдеры регулярно сталкиваются с тем, что встроенный показатель «Качество истории» в MetaTrader 5 падает с 99% до 30%, не понимая причин. Другие слишком поздно обнаруживают, что в их исторических данных были незаметные пробелы именно в том периоде, который они тестировали. Форумы переполнены одним и тем же вопросом — «как проверить, полна ли моя история по нескольким валютным парам?» — и обычный ответ на него: «напишите скрипт самостоятельно».

Эта статья и есть тот самый скрипт. Он создаёт воспроизводимый аудит данных, доступный только для чтения, который нужно запустить один раз, прежде чем доверять какому-либо бэктесту. Затем в ней показывается, почему аудит важен: для этого запускается одна и та же простая стратегия на данных от трёх брокеров и измеряется отклонение результатов. Брокеры везде обозначены анонимно (Брокер A, B, C) — дело не в том, кто «лучше», а в том, что «один и тот же бэктест» становится иллюзией в тот момент, когда меняются лежащие в его основе данные.

Всё здесь воспроизводимо. Полный исходный код на Python прилагается; он импортирует только функции, доступные только для чтения (вызовы API), из пакета MetaTrader 5 и никогда не затрагивает функции размещения ордеров.

Trust Your Backtest Data First: Building a Reproducible Historical Data Audit in Python for MetaTrader 5
Trust Your Backtest Data First: Building a Reproducible Historical Data Audit in Python for MetaTrader 5
  • 2026.07.21
  • www.mql5.com
A reproducible, read-only Python audit for MetaTrader 5 that verifies history quality before any backtest. It exports M5 data from multiple terminals, detects gaps and synthetic bars by timestamp spacing, and reports coverage per year. The same deterministic strategy then runs on three broker feeds over a common window to quantify result drift and decompose it into spread, data/price, and trade effects.