Прибыльный бэктест сливает реальный счёт, когда тест видел более лёгкий рынок, чем увидит счёт: в нашей собственной работе тиковая база, которая незаметно потеряла 19% торговых часов, превратила 3 слива счёта в 1 при том же депозите, сдвиг часового пояса сделал убыточную идею прибыльной в 7 кварталах из 7, а запас, который модель оценивала примерно в один слив за 19 месяцев, на реальном счёте ушёл в стоп-аут меньше чем за неделю.

Уроки наших исследований и нашей модели на прошлых тиках, а не прогноз и не совет. Торговля с плечом связана с риском: при недостаточном депозите возможен стоп-аут.
См. также: 7 защит мартингейл-бота на золоте →
В статье (10)
Что на самом деле значит «бэктест соврал»?
Бэктест прогоняет торгового советника (EA, expert advisor) по прошлым ценам и показывает, сколько он заработал бы. Он не врёт нарочно: он отвечает ровно на тот вопрос, который ему задали. Когда потом реальный счёт теряет деньги, обычно тесту дали одно из шести неверных условий: пропущенные цены, слишком низкие издержки, информацию из будущего, удачный период, настройки, подогнанные под этот период, или симулятор, который торгует не так, как советник.
У сеточного и мартингейл-советника этот разрыв шире, чем у других роботов. Сетка зарабатывает часто и понемногу, а теряет редко, но много, поэтому её результат зависит от нескольких худших часов теста. Уберите горстку таких часов — и бэктест покажет ровную линию там, где счёт бы закончился.
Шесть причин одним взглядом
| Причина | Что видит тест | Что видит счёт | Наш собственный пример |
|---|---|---|---|
| Дыры в тиковых данных | Часы без цен пропускаются | Каждый час, включая самые резкие | Потеряно 19% часов; сливов 1 вместо 3 |
| Издержки: спред, проскальзывание, своп | Постоянный маленький спред, без свопа | Широкий спред при переносе позиций и на новостях, своп каждую ночь | Счёт с локом ушёл в стоп-аут из-за одного спреда |
| Заглядывание в будущее | Цены, которых ещё не знали | Только прошлое | Сдвиг пояса на 5 часов: ложная прибыль в 7 кварталах из 7 |
| Выбранный или «выживший» период | Период, который выглядит лучше всего | То, что будет дальше | Лучший из 80 вариантов хорош отчасти случайно |
| Подгонка | Настройки, подогнанные под путь цены в тесте | Другой путь | Результат исчезает, если чуть сдвинуть настройку |
| Модель — не живой советник | Правила симулятора | Исполнение брокера и тайминг советника | Вход проверялся раз в минуту: вдвое меньше глубоких корзин |
1. Дыры в тиковых данных
Что происходит. Тиковый бэктест полон ровно настолько, насколько полны его данные. Если часа нет, советник не видит движения внутри него: цена просто перепрыгивает к следующему тику. Для сетки это худшая возможная дыра, потому что быстрый час в одну сторону — именно то, что набирает корзину до последнего ордера.
Наш собственный урок. Нашу первую базу тиков золота собирал загрузчик, который после нескольких неудачных запросов молча сохранял час как «пустой». Он потерял 1 859 из 9 864 часовых слотов — 19% обычных часов будних дней, по всем сессиям, плюс каждое воскресное открытие. Ничего не выглядело подозрительно: кривая эквити была ровной. Когда мы заново скачали пропущенные часы и прогнали те же настройки, число сливов счёта выросло на каждом проверенном уровне депозита:
| Депозит на 0.01 лота | Сливов на данных с дырами | Сливов на полных данных |
|---|---|---|
| $500 | 6 | 11 |
| $705 | 3 | 5 |
| $900 | 1 | 3 |
| $1 000 | 1 | 2 |
Наша модель, около 19 месяцев тиков XAUUSD, одинаковые настройки сетки в обоих столбцах. Важно направление, а не точные числа.
Как проверить у себя. Посчитайте тики или минутные бары по часам и поищите часы будних дней с нулём. В MT5 используйте режим «Каждый тик на основе реальных тиков» и проверьте, что история за весь период загружена. Подробнее: как проверить настройки сетки на реальных тиках золота.
2. Издержки, которые тест не взял: спред, проскальзывание, своп
Что происходит. Большинство бэктестов берут фиксированный или средний исторический спред и не учитывают проскальзывание. На золоте спред резко расширяется при ежедневном переносе позиций (ролловере), на воскресном открытии и на новостях. Сетка открывает много ордеров как раз на быстром рынке, и каждый ордер платит спред этого момента. Своп начисляется на каждую позицию, перенесённую через ролловер, в тройном размере в день тройного свопа, и корзина, открытая несколько дней, платит его со всех своих лотов.
Наш собственный урок. Небольшой счёт MT5 с корзиной в локе (покупка и продажа одинакового размера) выглядел «защищённым от стоп-аута», потому что лок не теряет, когда цена движется. Но он всё равно ушёл в стоп-аут: когда спред расширился, обе ноги разом оценились хуже, и маленького эквити не хватило. С тех пор мы никогда не пишем про лок «без ликвидации».
Как проверить у себя. Прогоните тест ещё раз с более широким спредом (например, вдвое шире обычного) и посмотрите, выживет ли результат. Статья про безубыток корзины с комиссией и свопом показывает, насколько каждая издержка сдвигает выход корзины.
3. Заглядывание в будущее: тест брал цены из будущего
Что происходит. Заглядывание в будущее (look-ahead bias) — это когда стратегия принимает решение по информации, которой в тот момент ещё не было. Обычно это не похоже на жульничество: оно прячется в метках времени.
Наш собственный урок, дважды.
- Сдвиг часового пояса. Границы сессий переводились через «наивную» дату (без часового пояса) на компьютере, который жил не по UTC, поэтому каждая сессия заканчивалась на 5 часов раньше, чем на самом деле. Стратегия торговала максимум и минимум сессии, которая ещё не закончилась. Она показывала около +$12 в день на лот, была в плюсе в 7 кварталах из 7 и прошла проверочный год. Всё это было ложью. Выдал её такой признак: в 269 из 269 сделок следующие 30 минут цена шла в сторону сделки. Настоящее преимущество никогда не выглядит как 100%.
- Метка времени бара. Минутные бары были помечены началом минуты. Сигнал на закрытии бара потом «входил» на первом тике того же бара — за 60 секунд до того, как сигнал появился. Это дало «84% вероятности продолжения». Сдвиг входа на минуту позже убрал эффект полностью.
Как проверить у себя. Если результат на золоте выглядит слишком хорошо, сначала посчитайте, как часто цена сразу после входа шла в сторону сделки. Потом задержите каждый вход на один бар: настоящий эффект слабеет постепенно, а эффект заглядывания в будущее исчезает.
4. Выбранные периоды и «выжившие»
Что происходит. Бэктест из рекламы начинается и заканчивается там, где он выглядит лучше всего. Сетка, пережившая 2025 год, могла просто ещё не встретить свой худший час: в наших данных 16 из 25 самых широких часов золота за январь 2025 — октябрь 2026 пришлись на 28 января — 2 февраля 2026 года, включая падение на $314.21 за один час. Тест, который кончается до этой недели, — это другой тест.
Ошибка выжившего — тот же эффект на уровне продуктов: вы видите советников и счета, которые ещё живы. Слившиеся перестают рекламировать.
Наш собственный урок. Когда мы проверили 80 вариантов одного семейства стратегий «окно + отложенные ордера», лучший выглядел хорошо. Но выбор лучшего из 80 — сам по себе подгонка под данные: часть его преимущества — просто удача оказаться выбранным.
Как проверить у себя. Тестируйте всю доступную историю, а не выбранный год, и нарочно включайте самые тяжёлые отрезки: см. стресс-тест сеточного советника на реальных тиках.
5. Подгонка: настройки под один путь цены
Что происходит. Подгонка (переоптимизация) значит, что настройки крутили, пока они не легли точно на прошлое: шаг, который как раз обошёл худший день, лимит ордеров, который случайно остановился за один ордер до катастрофы. Следующий путь цены будет другим, и подгонка перестанет работать.
Признаки. Результат сильно меняется, когда одну настройку чуть сдвигают; лучшие настройки — одиночный пик, а не плато; перепробовали много вариантов, а показывают только лучший; правил в стратегии больше, чем плохих дней в тесте.
Как проверить у себя. Сдвиньте каждую настройку на одно деление в каждую сторону. Если счёт выживает только при точном значении, это подгонка, а не запас. В своих исследованиях мы оцениваем сетку по соседним значениям: изменение шага, лимита ордеров или депозита, которое помогает, должно помогать и на соседних значениях.
6. Модель — не живой советник
Что происходит. Даже с идеальными данными и издержками симулятор должен решить, когда открывается ордер, по какой цене и как часто советник смотрит на рынок. Небольшие различия здесь меняют глубину корзин, а именно глубина сливает сетку.
Наш собственный урок. Наш первый движок проверял вход раз в минуту, на закрытии бара, а живой советник проверяет каждый тик. Уже одно это дало вдвое меньше глубоких корзин, чем на реальном счёте. После того как мы переделали движок, чтобы он шёл за советником тик за тиком, корзин из 7 и более ордеров за те же 13 дней стало 69 в модели против 66 вживую. До этой правки депозит на 0.01 лота, который модель оценивала примерно в один слив за 19 месяцев, на реальном счёте ушёл в стоп-аут примерно за неделю. Поэтому мы пишем про цифры модели «в нашей модели» и никогда — «безопасно».
Как проверить у себя. Сравните несколько живых дней с моделью на тех же тиках: число корзин, сколько из них дошло до 7 и более ордеров, и самую глубокую. Если в модели глубоких корзин меньше, её число сливов тоже оптимистично.
Как честно протестировать сеточного советника
- Полные реальные тики за всю историю, без пустых часов в будние дни. В MT5: «Каждый тик на основе реальных тиков».
- Реалистичные издержки: спред вашего брокера с учётом ролловера, комиссия, своп; затем второй прогон с более широким спредом.
- Никакого будущего в сигнале: решения только по закрытым барам, вход строго после времени сигнала.
- Вся история плюс самые тяжёлые отрезки, а не выбранный год.
- Соседние настройки: результат должен выдерживать сдвиг на одно деление.
- Сначала арифметика: до любого теста знайте, как далеко золото должно уйти против первого ордера до стоп-аута. При $1 000, 0.01, ×2, шаге $1.95 и 11 ордерах это $65.58; бэктест не может сделать это число больше (почему сеточник сливает депозит на золоте).
- Форвард-тест на демо у того же брокера с теми же настройками в течение нескольких недель, со сравнением с моделью на тех же днях.
Бесплатный эмулятор Midas Grid прогоняет реальные тики золота с января 2025 года по дням, поэтому шаги 1, 4 и 5 занимают минуты. Это всё равно модель: постоянный спред, без проскальзывания, и прошлое не повторится в том же порядке.
Частые вопросы
Почему советник работает в бэктесте, а на реальном счёте теряет?
Обычно тест видел более лёгкий рынок, чем счёт: пропущенные тики, слишком маленький спред, без свопа, информация из будущего, удачный период или настройки, подогнанные под этот период. Сеточному советнику достаточно нескольких пропущенных быстрых часов, потому что его результат зависит от худших часов.
Достаточно ли в MT5 режима «Каждый тик на основе реальных тиков»?
Он убирает догадки сгенерированных тиков, но только для той истории, которую реально даёт ваш брокер, и со спредом этого брокера. Проверьте, что весь период загружен и что часы будних дней не пустые, а затем добавьте прогон с более широким спредом.
Каким по длине должен быть бэктест сеточного советника?
Достаточно длинным, чтобы в него вошли худшие движения рынка, на котором вы торгуете. Для золота это как минимум вся история с января 2025 года, включая 28 января — 2 февраля 2026 года, когда случились 16 из 25 самых широких часов этого периода. Короткий тест, который их пропускает, измеряет более спокойный рынок.
Что такое заглядывание в будущее, одной фразой?
Это бэктест, который использует цену, ещё неизвестную в момент решения, обычно из-за ошибки с часовым поясом или меткой времени бара; быстрая проверка — задержать каждый вход на один бар и посмотреть, не исчезнет ли прибыль.
Может ли форвард-тест на демо заменить бэктест?
Нет, они отвечают на разные вопросы. Несколько недель демо показывают, как ваш брокер исполняет ордера и берёт издержки; длинный бэктест показывает, переживают ли настройки редкие плохие часы, которые короткое демо, скорее всего, не встретит. Используйте оба, плюс арифметику стоп-аута.