Отчёт бэктеста MT5 — это утверждение об одном конкретном наборе сделок, полученном на одной конкретной истории цен. Почти любое неверное прочтение начинается с того, что половину этой фразы отбрасывают. Итоговый профит-фактор читают как свойство советника. А он — свойство двух других вещей: совокупности сделок, которую покрыл отчёт, и тиков, которыми кормили тестер.
Эта статья — тот порядок чтения, который производит решение. Что отчёт принял на веру раньше, чем напечатал хоть одну цифру, какая метрика на какой вопрос отвечает, где каждое число вас обманывает и что каждое прочтение велит поменять. Процедура получения отчёта — отдельная работа: как запустить бэктест разбирает её от начала до конца.
| Условия теста | |
|---|---|
| Идентификатор эксперимента | EXP-REPORT-READING-001 |
| Родительский эксперимент | EXP-BACKTEST-RUNBOOK-001 |
| Источник | data/run-manifests/*.json → results, ledger_recomputed, shadow_runs |
| Совокупность | 23 finished MT5 Strategy Tester runs in our test archive |
| Сборка MT5 | 6090 and 6140 |
| Модель | Every tick generated from M1 bars (Model 0) and Every tick based on real ticks (Model 4) |
| Счёт | 10 000 USD deposit on all 23 runs |
| Данные на дату / последняя проверка | 2026-08-26 |
Каждая цифра ниже — это бэктест, и все 23 прогона несут вердикт PASS по тому порогу, который мы применяем к готовому прогону. Значит, перед нами набор выживших, и ничто здесь не говорит, как часто бэктест проходит. Он говорит, как прошедший отчёт выглядит изнутри. Как мы проводим и маркируем эти тесты, изложено в нашей методике тестирования.
Подготовка: что отчёт принял на веру раньше, чем напечатал цифру
Блок Settings в шапке отчёта MT5 — не предисловие. Это список допущений, который наследует каждое число под ним, и шесть из них решают, стоит ли вообще читать остальное. Имя брокера и сборка стоят в титульной строке самого отчёта — у нас она читалась как Exness-MT5Trial5 (Build 6090).
| Поле блока Settings | Что оно на самом деле фиксирует | Что записано у нас |
|---|---|---|
Symbol: / Period: | Рыночные режимы, выборкой из которых является результат | 22 прогона начинаются в январе 2019; один начинается в июне 2021 |
| Model (генерация тиков) | Как получены тики внутри каждого бара | Model 0 (сгенерированы из баров M1) в 12 прогонах, Model 4 (реальные тики) в 11 |
Initial Deposit: | Знаменатель для каждого процента на странице | 10 000 USD во всех 23 |
| Spread | Издержка, снимаемая с каждой стороны сделки | Измерен ровно в 1 из 23 — остальные унаследовали то, что нёс в себе ряд истории |
| Commission | Издержка, которую тестер применяет, только если вы её задали | 0 во всех 23 |
Inputs: | Настройки, которые это произвели, целиком | Сверены с отчётом на каждом прогоне |
Список Inputs: — та строка, которую пропускают, и та единственная, которая вообще делает отчёт воспроизводимым: это полный набор значений, которые пришлось бы ввести заново, чтобы получить ту же страницу.
Две из этих строк заслуживают паузы. Нулевая строка комиссии не означает, что комиссию проигнорировали. Она означает, что на тестируемом символе её не взимали. Это разные утверждения, и какое из них применимо, скажет только запись прогона. И неизмеренный спред — не нулевой спред: в 22 из наших 23 прогонов это поле пусто, потому что рядом с тестом не работал регистратор. Каждая сторона сделки просто взяла тот спред, который нёс в себе ряд M1. Назвать собственное среднее может только прогон GBP/JPY M15 — 19,14 пункта.
Здесь же уместна одна ловушка названий. Поле, которое старые руководства называют качеством моделирования, MT5 печатает как History Quality: — в блоке Results рядом с Bars:, Ticks: и Symbols:. Поиск по отчёту сборки 6090 на “modelling quality” не находит ничего. В наших собственных записях эта цифра присутствует лишь в 2 из 23 манифестов, потому что её сохраняют, когда её назвал исходный отчёт, — это свойство наших записей, а не измерение того, как часто MetaTrader её печатает. Практически это значит, что использовать её как фильтр для чужих отчётов нельзя. Вопрос, лежащий под ней, — источник тиковых данных, и на него ответ есть всегда: спросите, какую историю использовал прогон.
Читаем отчёт, метрика за метрикой
Читайте страницу в этом порядке. Он намеренно не совпадает с тем, в котором её печатает MetaTrader, потому что два самых дешёвых повода отбраковать отчёт стоят у него внизу.
- Сначала прочитайте
Settings. Модель,Initial Deposit:, спред и комиссию. Каждый процент ниже их наследует, а прогон с неизмеренным спредом — не прогон без спреда. - Прочитайте
Total Trades:раньше любого отношения. Отношение и размер выборки под ним — один факт, а не два. Выпишите количество рядом с отношением. - Спросите, какие сделки покрывает итог. Если рядом опубликован список сделок, проверьте, сходится ли его общее количество с
Total Trades:. У одного из наших 23 отчётов не сходится. - Читайте
Equity Drawdown Maximal:, а не строку баланса, и отмечайте, взяли вы цифруMaximalилиRelative, — это отдельные строки. - Найдите историю цен. Какой брокер, какой источник, какой период. Именно это поле сдвинуло вердикт в наших записях; модель тиков — нет.
Вот всё чтение в одной таблице, с теми названиями полей, которые отчёт печатает на самом деле. Столбец «В нашем наборе» — это то, что каждая метрика делала на наших 23 прогонах. Он полезнее учебникового диапазона, потому что измерен на том же типе отчёта, который вы держите перед собой.
| Поле отчёта | На какой вопрос отвечает | В нашем наборе | Тревожный признак |
|---|---|---|---|
Total Trades: | Сколько всего свидетельств | от 108 до 4 725 на прогон | Меньше ~100; отношение на 20 сделках — это слух |
Profit Factor: | Валовая прибыль, делённая на валовой убыток (профит-фактор) | от 1,22 до 1,59 по всем 23 | Выше ~2,0 на коротком окне; сначала проверьте Total Trades: |
Profit Trades (% of total): | Винрейт — форма распределения, а не его знак | от 30,80 % до 82,27 %, все прибыльные | Приведён сам по себе, без профит-фактора рядом |
Total Net Profit: | Сколько выиграно в валюте, до всякого контекста | от 386,05 до 28 687,43 USD на одном и том же депозите 10 000 USD | Приведён без Initial Deposit: и без числа лет |
Balance Drawdown Maximal: | Худший провал по закрытым сделкам (максимальная просадка) | от 0,67 % до 18,24 % | Приведён при том, что на той же странице стоит строка эквити |
Equity Drawdown Maximal: | Худший провал с учётом открытых позиций | Глубже баланса в 23 случаях из 23 | Проигнорирован — а ведь на этой цифре живёт ваша маржа |
Expected Payoff: | Средний результат на сделку, в валюте | В наших манифестах не хранится | Прочитан как прогноз, а не как среднее |
Recovery Factor: / Sharpe Ratio: | Доход на единицу боли, двумя способами | В наших манифестах не хранится | Сравнивается между отчётами с разным числом сделок |
History Quality: | Способен ли поток тиков разрешить ваш стоп | Указано в 2 из 23 | Отсутствует и источник данных неизвестен |
Две условности в этом блоке подводят людей раньше, чем начинается любая интерпретация.
Total Trades: и Total Deals: — разные счёта. В MetaTrader 5 полный оборот — это две сделки-deal, вход и выход, поэтому отчёт, показывающий Total Trades: 50, показывает рядом Total Deals: 100, а частичные закрытия добавляют deals, не добавляя trades. Читайте отношения против trades, никогда против deals.
Строк просадки шесть, а не одна. Отчёт печатает Absolute, Maximal и Relative и для баланса, и для эквити. Хуже того, у двух из них деньги и процент меняются местами: Balance Drawdown Maximal: 36.84 (0.37%) ставит валюту первой, а Balance Drawdown Relative: 0.37% (36.84) — процент. Два отчёта могут привести «0,37 %» и «36,84» из соседних строк и говорить об одном и том же событии — или о разных.
Остальная часть блока Results — Z-Score:, AHPR:, GHPR:, LR Correlation:, LR Standard Error:, Margin Level: и корреляции MFE/MAE — описывает форму кривой капитала, а не её размер. Ничто из этого не спасает отчёт со слишком малым числом сделок и ничто не переживает смену истории цен лучше, чем профит-фактор. Читайте это после пяти шагов выше — или не читайте вовсе.
Две строки из таблицы метрик наносят на практике больше всего вреда, поэтому читайте их вместе, а не по очереди.
Чистой прибыли нужны её знаменатель и её календарь. Все 23 наших прогона стартуют с одних и тех же 10 000 USD, что делает их необычно сопоставимыми. И всё же они охватывают от 0,51 % до 57,38 % годовых. Нижний край поучителен. Прогон JP225 H1 показывает профит-фактор 1,46 при максимальной просадке 0,67 % — самая красивая пара чисел в наборе. Он заработал 386,05 USD за 7,58 года. В этом отчёте нет ничего нечестного. Он просто отвечает не на тот вопрос, который, как думает большинство читателей, они задают.
Винрейт и профит-фактор здесь почти независимы. По 23 прогонам корреляция между ними равна 0,37. Значит, большая часть того, от чего зависит, зарабатывает ли советник, строке винрейта не видна вовсе. Прогон EUR/JPY M5 выигрывает 30,80 % сделок и даёт профит-фактор 1,22; прогон AUD/CAD H4 выигрывает 82,27 % и даёт 1,59. Оба прибыльны, а винрейты расходятся на 51 пункт.
Профит-фактор, которого ваш отчёт вам не показывает
Вот часть, которую не показывает ни один отчёт, — и именно поэтому эту статью удалось написать по собственным данным. Каждый прогон в нашем архиве хранит полный список закрытых сделок, поэтому каждый отчёт делится надвое. Есть срез, на котором выбирались настройки, — окно разработки до фиксированной даты отсечки, после которой настройки больше не меняли. И есть сделки, случившиеся после этой даты, на которых не выбиралось ничего. Двадцать из наших 23 прогонов содержат оба среза; у остальных трёх более позднего среза нет вовсе.
| Прогон | Срез разработки | Более поздний срез | Итог в отчёте |
|---|---|---|---|
| JP225 H1 | 1,28 (195 сделок) | 6,43 (15 сделок) | 1,46 (210 сделок) |
| AUD/CAD H1 | 1,31 (101 сделка) | 3,58 (7 сделок) | 1,38 (108 сделок) |
| EUR/USD H1, 4 символа | 1,48 (4 583 сделки) | 1,64 (142 сделки) | 1,48 (4 725 сделок) |
| AUD/CAD H4 | 1,55 (136 сделок) | — (5 сделок, ни одного убытка) | 1,59 (141 сделка) |
| USD/JPY H1 (история M1 от Exness) | 1,28 (624 сделки) | 0,88 (21 сделка) | 1,27 (645 сделок) |
| US30 H4 | 1,53 (232 сделки) | 0,72 (21 сделка) | 1,43 (253 сделки) |
Прочитайте первый и последний столбцы строки JP225 вместе. Итог говорит 1,46; период, на котором действительно выбирались настройки, говорит 1,28; разница — это 15 сделок, 7 % записи, идущих с профит-фактором 6,43. Прочитайте так же строку US30 — и она идёт в другую сторону: 1,53 на срезе разработки, 0,72 на 21 сделке с тех пор и итог 1,43, который прячет и то и другое.
По 20 прогонам, содержащим оба среза, итог читается лучше среза разработки в 14 случаях и хуже — в 6. Остальные три оставлены за скобками намеренно: при единственном срезе их итог и их цифра разработки покрывают ровно одни и те же сделки, поэтому разница между ними вообще не эффект совокупности — это собственное округление отчёта до двух знаков против пересчитанного списка сделок. Прогон USD/JPY M1 печатает 1.52 там, где пересчёт по списку даёт 1,5153. Приложите тот же порог округления к этим 20 — и 13 из них всё равно показывают разрыв, который округлением не объяснить, причём 8 из них в ту сторону, которая отчёту льстит.
Эта асимметрия не скандал. Итог, растянутый на два периода, тянется к тому из них, которому повезло больше. Но она означает, что итог никогда не является той цифрой, которую стоит сравнивать с утверждением о будущем поведении.
Ловушки: как эти числа вводят в заблуждение
Под всеми пятью лежит один и тот же способ ошибиться: отчёт — это измерение совокупности, и каждая метрика на странице молча наследует ту совокупность, на которую был направлен тестер.
Улучшаем: что каждое прочтение велит поменять
Одно изменение за итерацию, и каждый раз перечитывайте одни и те же три цифры: число сделок, профит-фактор и просадку по эквити. Порядок ниже выстроен по стоимости — дешёвые проверки первыми, потому что две из них регулярно заканчивают расследование.
- Если число сделок мало, удлиняйте период, а не трогайте параметры. Профит-фактор, построенный меньше чем примерно на 100 сделках, сдвинется от более длинного окна сильнее, чем от любой настройки, которую вы могли бы подкрутить. В самом маленьком нашем прогоне 108 сделок, и именно его отношения мы цитируем осторожнее всего.
- Если итог и срез разработки расходятся, перечитайте только срез разработки. Это та цифра, против которой выбирались настройки. Именно её и надо сравнивать с любым другим кандидатом.
- Если просадка по эквити заметно выше просадки по балансу, считайте объём по цифре эквити. Разрыв говорит вам, сколько позиций советник держит в одном и том же движении. Запись прогона GBP/JPY H1 утверждает это прямо: до семи одновременно.
- Если отчёт пришёл с чужих данных, перепрогоните его на втором источнике раньше всего остального. У этой проверки самый крупный измеренный эффект во всём нашем наборе — и запускают её последней.
Что на самом деле двигало числа: источник данных, а не модель тиков
Один из этих прогонов намеренно повторили, чтобы разделить эти две переменные, и запись прогона помечает каждый теневой прогон тем, что он изолирует.
| Прогон GBP/JPY M15 | Что менялось | Сделок | Профит-фактор | Макс. просадка | Качество истории | Вердикт |
|---|---|---|---|---|---|---|
| Исходный | История M1 от Exness, Model 0 | 303 | 1,35 | 9,92 % | 99 % | PASS |
| Теневой — изолирует источник данных | История Dukascopy, Model 0 | 351 | 1,13 | 18,18 % | 99 % | FAIL |
| Теневой — изолирует реальные тики | История Dukascopy, Model 4 | 345 | 1,11 | 18,20 % | 100 % | FAIL |
Читайте это как два отдельных эксперимента. Смена только истории цен — первая строка против второй, модель тиков та же — увела профит-фактор с 1,35 на 1,13, почти удвоила просадку и перевернула вердикт с прохождения на провал. Смена только модели тиков на этой новой истории — вторая строка против третьей — сдвинула профит-фактор на 0,02, а просадку на 0,02 пункта. При этом качество истории на двух провалившихся прогонах читается как 99 % и 100 %, то есть поле, по которому чаще всего и отсеивают, было отличным всё это время.
Второй советник указывает в ту же сторону под другим углом. Прогон USD/JPY M15 на реальных тиках Dukascopy показывает профит-фактор 1,33 и просадкой 7,11 %, а его теневой прогон на истории M1 от Exness с Model 0 показывает 1,30 и 6,76 % — источник и модель поменялись разом, а результат почти не сдвинулся. Устойчивость к смене источника данных возможна. Просто её нельзя показать одним отчётом.
Практическое правило: отчёт является переносимым свидетельством ровно настолько, насколько переносима его история цен. Перепрогон на втором источнике стоит одного вечера. В наших записях это единственная проверка из этой статьи, которая меняла решение.
Дальнейшие шаги: от отчёта к решению
Хорошо прочитать отчёт — второй шаг из четырёх. Последовательность такая: бэктест → чтение → анализ вперёд (walk-forward) → демо-счёт, и каждый шаг убирает свой способ ошибиться. Отчёт, переживший все четыре, заслужил небольшую позицию; переживший первые два — заслужил ещё одну проверку.
- Если цифра отправляет вас назад к стратегии, а не к тесту, менять само правило нужно в Builder. Перебор по настройкам — уже другая работа, её разбирает оптимизация параметров.
- Прежде чем считать объём по только что прочитанной цифре просадки, загляните в управление рисками при торговле советниками: там она превращается в депозит и размер лота.
Прошлые результаты в тестере — не прогноз, и ни один из прогонов выше не является обещанием на следующие 12 месяцев. Смысл правильного чтения отчёта меньше и полезнее предсказания. Оно говорит вам, что было продемонстрировано, а что было всего лишь напечатано.