Ключевые моменты:
- Пошаговая (walk-forward) проверка показывает, выдержит ли торговая стратегия данные, которых она раньше не «видела», а не только историю, на которой её подбирали.
- Данные делят на участок для подбора настроек (in-sample) и участок для проверки (out-of-sample), затем окно сдвигают вперёд по времени.
- Главная цель метода — заранее выявить переобучение (подгонку под историю), прежде чем рисковать реальными деньгами.
- Эффективность walk-forward сводит результаты к одному числу и показывает, насколько «преимущество» из in-sample сохраняется в условиях, похожих на реальную торговлю.
Многие трейдеры учатся на ошибках: стратегия может выглядеть идеальной на прошлых данных, но развалиться в реальной торговле. Частая причина — слишком точная настройка под историю: система подстраивается под случайные колебания цены (шум), а не под устойчивое поведение рынка.
Пошаговая (walk-forward) проверка создана, чтобы находить эту проблему заранее. Вы несколько раз подбираете правила на одном отрезке данных, а затем проверяете их на более позднем отрезке, который не использовался при подборе.
Ниже — практический разбор стратегии walk-forward проверки по шагам, чтобы вы могли увереннее проверять идеи перед тем, как использовать реальные деньги.
Пояснение walk-forward проверки

Walk-forward проверка — это способ проверки, который имитирует адаптацию стратегии со временем. Вместо одного подбора настроек на всей истории вы делаете это по этапам. Каждый этап затем проверяется на новых данных, которые стратегия раньше не использовала.
Данные in-sample и out-of-sample
Любая walk-forward проверка опирается на два блока данных. In-sample данные — часть истории, на которой вы подбираете лучшие настройки. Out-of-sample данные — отложенная часть, на которой вы только проверяете эти настройки. Это похоже на экзамен.
- In-sample — это тренировка.
- Out-of-sample — это экзамен без подсказок.
- Если стратегия хороша только на in-sample, она просто «выучила ответы».
Сильные результаты на in-sample сами по себе мало что значат. Важнее результат на out-of-sample: он показывает, есть ли реальное преимущество.
Как окно подбора настроек сдвигается вперёд
Термин walk-forward описывает движение теста. Вы подбираете настройки на раннем периоде, затем переходите вперёд и проверяете на следующем блоке. После этого сдвигаете окно и повторяете.
Так получается цепочка out-of-sample результатов, соединённых в одну линию. Это честнее показывает, как правила работали бы при смене рыночных условий, а не «удачную» подгонку под один период.
Какую проблему решает walk-forward проверка: переобучение и подгонка
Главная цель walk-forward проверки — выявить переобучение (его также называют подгонкой под кривую). Это ситуация, когда стратегию настраивают настолько точно под прошлые цены, что она начинает ловить случайный шум вместо повторяемой закономерности. Признаки обычно такие:
- Слишком много тонко настроенных параметров (настроек)
- Очень высокая доходность в истории и почти нет убыточных сделок
- Результат резко ухудшается, как только появляются новые данные
Подогнанная стратегия выглядит «гениально» в тестере и провально на рынке. Walk-forward проверка заставляет правила показать результат на данных, по которым настройки не подбирались.
Как работает walk-forward проверка: пошагово
Walk-forward проверку удобно воспринимать как повторяющийся цикл из четырёх этапов. Поняв один цикл, вы понимаете весь метод: дальше всё повторяется на более поздних датах.
1. Делим данные на участки для подбора и для проверки
Сначала разделите ваши исторические данные на сегменты. В каждом сегменте есть более большой блок для подбора настроек и меньший блок для проверки.
- Примерно 70–80% окна — для in-sample подбора настроек
- Оставшиеся 20–30% — для out-of-sample проверки
Например, вы подбираете настройки на 12 месяцах данных, а затем проверяете на следующих 3 месяцах. Пропорция зависит от стратегии и объёма данных.
2. Подбираем параметры на in-sample окне
Дальше запускайте подбор параметров только на in-sample блоке. Программа перебирает сочетания настроек (например, длины скользящих средних или размер стоп-лосса) и оставляет лучшие варианты.
Цель — не максимальная доходность, а устойчивые, разумные настройки. Лучше выбирать стабильные диапазоны, а не крайние значения, которые «выигрывают» только на одном коротком отрезке.
3. Проверяем на невиданных out-of-sample данных
Теперь примените выбранные настройки к out-of-sample блоку. Здесь вы ничего не перенастраиваете. Вы просто прогоняете стратегию вперёд, как будто торгуете вживую.
Это ключевой этап. Если стратегия нормально работает на данных, которых не использовала, это признак реального преимущества. Если результат сильно ухудшается, успех на in-sample, скорее всего, был случайностью.
4. Сдвигаем окно вперёд и повторяем
Затем сдвиньте окно целиком вперёд и повторите шаги. Каждый новый прогон подбирает настройки на свежих in-sample данных и проверяет их на следующем, ещё не использованном блоке. Простой пример: 12 месяцев для подбора и 3 месяца для проверки.
| Прогон | In-Sample (подбор) | Out-Of-Sample (проверка) |
| Прогон 1 | Jan – Dec 2023 | Jan – Mar 2024 |
| Прогон 2 | Apr 2023 – Mar 2024 | Apr – Jun 2024 |
| Прогон 3 | Jul 2023 – Jun 2024 | Jul – Sep 2024 |
| Прогон 4 | Oct 2023 – Sep 2024 | Oct – Dec 2024 |
Если соединить все out-of-sample периоды, вы получите непрерывную линию результатов на данных, которые не участвовали в подборе настроек.
Anchored и rolling walk-forward анализ
Есть два основных способа двигать окно по времени. Выбор зависит от того, как ваша стратегия ведёт себя при смене рыночных условий.
1. Anchored walk-forward с фиксированным началом
В anchored walk-forward начальная дата фиксирована. Двигается только конец in-sample окна, поэтому блок для подбора настроек растёт. Это подходит стратегиям, которым полезна длинная «память» по истории.
- На каждом шаге используется максимум доступной истории.
- Предполагается, что старые данные всё ещё полезны.
- Часто подходит более медленным, «структурным» стратегиям.
Минус: слишком старые данные могут ослаблять влияние более свежих условий.
2. Rolling walk-forward со скользящим окном
В rolling walk-forward длина окна постоянная, и оно сдвигается вперёд. Старые данные «выпадают», новые добавляются.
- Подбор настроек опирается на недавние условия.
- Быстрее подстраивается к смене волатильности и трендов.
- Часто подходит для краткосрочных и более «реактивных» систем.
Такое окно быстрее реагирует на смену режима рынка, но результаты могут сильнее колебаться от прогона к прогону из-за рыночного шума.
Как выбрать anchored или rolling для вашей стратегии
Нет варианта, который всегда лучше. Выбор зависит от горизонта стратегии и того, насколько вы доверяете старым данным.
| Характеристика | Anchored walk-forward | Rolling walk-forward |
| Стартовая дата | Фиксирована | Сдвигается вперёд |
| Используемые данные | Растут с каждым прогоном | Постоянная длина |
| Лучше для | Долгосрочных, «структурных» систем | Краткосрочных, адаптивных систем |
| Основной риск | Старые данные ослабляют сигнал | Теряется полезная история |
Эффективность walk-forward и как читать результаты

После завершения прогонов нужно оценить результаты. Эффективность walk-forward — популярный единый показатель. Он сводит множество результатов к одному числу, чтобы сравнивать стратегии между собой.
Расчёт эффективности walk-forward
Эффективность walk-forward сравнивает результат на out-of-sample с результатом на in-sample. Формула простая:
Эффективность walk-forward = (доходность out-of-sample ÷ доходность in-sample) × 100
Пример годовой доходности:
- Доходность in-sample: 40%
- Доходность out-of-sample: 24%
Эффективность walk-forward = (24 ÷ 40) × 100 = 60%
60% означает, что результат на out-of-sample сохранил примерно 60% результата in-sample. Чем ближе к 100%, тем лучше сохраняется преимущество.
Как сочетать результаты walk-forward с проверкой кривой капитала и просадки
Одного числа недостаточно, чтобы понять картину. Смотрите эффективность walk-forward вместе с другими показателями.
- Сшитая кривая капитала (equity curve) — линия изменения стоимости счёта; лучше, когда она растёт более ровно, а не одним резким скачком.
- Максимальная просадка (drawdown) — самый большой спад от пика до минимума, то есть худшая «яма» по счету.
- Стабильность результатов в каждом прогоне, а не только среднее значение.
Стратегия может иметь неплохую эффективность, но слишком большую просадку, и тогда ею сложно торговать. Важнее ровное и повторяемое поведение, чем одно красивое число.
Как настроить walk-forward проверку
Настройка walk-forward проверки — это выбор разумных параметров до запуска. Понимание, как правильно делать walk-forward оптимизацию, сводится к трём решениям: длины окон, число прогонов и платформа.
1. Выбор длины периодов in-sample и out-of-sample
Длины окон должны соответствовать частоте сделок. Стратегии с ежедневными сделками обычно нужно меньше данных на окно, чем стратегии с несколькими сделками в месяц. Разумные ориентиры:
- Соотношение примерно 3:1 или 4:1 между in-sample и out-of-sample.
- Out-of-sample данных должно хватать на много сделок, а не на несколько.
- Окна должны захватывать разные рыночные условия.
2. Сколько прогонов walk-forward делать
Чем больше прогонов, тем больше доказательств на out-of-sample, и это обычно плюс. Стремитесь к числу прогонов, которое покажет поведение стратегии в разных условиях:
- По возможности делайте минимум 8–10 прогонов.
- Проверьте, что в каждом out-of-sample блоке достаточно сделок.
- Пусть тест включает и трендовые периоды, и боковые (флэт).
3. Запуск walk-forward оптимизации в MT5, Python и Amibroker
Не обязательно делать всё вручную. Есть инструменты, где walk-forward оптимизация поддерживается напрямую:
- MetaTrader 5 (MT5) включает встроенный тестер стратегий с режимом walk-forward для торговых роботов (Expert Advisors) — программ, которые автоматически открывают и закрывают сделки по заданным правилам.
- MetaTrader 4 (MT4) позволяет делать поэтапный подбор, но окна чаще приходится контролировать вручную.
- Python позволяет написать собственный цикл walk-forward, то есть полностью настроить логику теста под себя.
- Amibroker имеет отдельную функцию walk-forward с автоматическим сдвигом окон.
Если вы торгуете у брокера, например VT Markets, вы можете тестировать автоматические торговые системы (стратегии, которые исполняет программа) в MT4 и MT5 перед реальной торговлей.
Сравнение walk-forward проверки с похожими методами
Полезно понимать, чем walk-forward проверка отличается от других способов проверки стратегии. Каждый подход оценивает стратегию по-своему, и знание различий помогает тестировать осознанно.
1. Walk-forward против обычного бэктеста
В чём разница между обычным тестом на истории и walk-forward? Обычный бэктест часто и подбирает настройки, и проверяет их на одном и том же участке истории — из-за этого легко не заметить переобучение. Walk-forward разделяет эти этапы и всегда проверяет на данных, которые не использовались при подборе.
- Бэктест отвечает: как эти настройки работали бы на этой истории.
- Walk-forward отвечает: как они работали бы на данных, под которые их не подбирали.
Второй вопрос гораздо ближе к реальной торговле, поэтому walk-forward результатам обычно доверяют больше.
2. Walk-forward против кросс-проверки (cross-validation)
Кросс-проверка (cross-validation) часто используется в машинном обучении — подходе, где компьютер ищет закономерности в данных. Метод делит данные на несколько частей и по очереди оставляет одну часть для проверки. Главное отличие — время.
- Кросс-проверка нередко перемешивает данные, не учитывая порядок по времени.
- Walk-forward всегда сохраняет хронологию.
Для рынков порядок по времени критичен: нельзя строить правила на «будущих» данных и проверять их на «прошлых». Поэтому walk-forward обычно реалистичнее.
3. Walk-forward против одной out-of-sample проверки
Одна out-of-sample проверка — это когда вы откладываете один недавний блок данных. Это лучше, чем ничего, но проверяется только один период. Walk-forward улучшает это в трёх пунктах:
- Проверка идёт по многим out-of-sample блокам.
- Захватываются разные рыночные условия.
- Снижается шанс, что один «удачный» период приукрасит результат.
Чем больше out-of-sample окон, тем больше доказательств — и тем меньше неприятных сюрпризов позже.
Надёжность, ограничения и частые ошибки
Walk-forward проверка сильна, но это не предсказание будущего. Понимание ограничений помогает трезво перейти от тестов к реальным деньгам.
Что walk-forward проверка может и чего не может подтвердить
Walk-forward проверка может показать, что логика стратегии работала на исторических данных, которые не использовались при подборе настроек. Это важно. Но она не может гарантировать прибыль в будущем.
- Даже «невиданные» данные — всё равно прошлое.
- Рынок может перейти в условия, которых не было в вашей истории.
- Издержки (проскальзывание и спред) могут ухудшить результат. Проскальзывание — исполнение по цене хуже ожидаемой из-за движения рынка. Спред — разница между ценой покупки и продажи.
Сильный walk-forward результат — это поддержка гипотезы, а не обещание.
Частые ошибки при выборе окон и чтении результатов
Большинство ошибок — это плохая настройка или самообман при чтении цифр. Не допускайте того, что незаметно портит даже хороший тест.
- Слишком короткие окна, где мало сделок.
- Повторный подбор настроек после того, как вы увидели out-of-sample результат — это ломает смысл проверки.
- Игнорировать торговые издержки в тесте. Комиссия — плата брокеру за сделку. Своп — плата/начисление за перенос позиции на следующий день.
- Оценивать стратегию по средней доходности и не учитывать просадку и стабильность.
- Выбирать только один прогон, где результат случайно лучший.
Честная walk-forward проверка — это принять результат, даже если он не нравится.
Часто задаваемые вопросы (FAQ)
Q1: Что такое walk-forward тестирование?
Walk-forward тестирование — это метод проверки. Он подбирает настройки торговой стратегии на одном блоке исторических данных, а затем проверяет на более позднем блоке, который не использовался при подборе. Процесс повторяется при сдвиге окна вперёд, что даёт более реалистичное представление о поведении стратегии в условиях, похожих на реальную торговлю.
Q2: В чём разница между anchored и rolling walk-forward анализом?
В anchored walk-forward начальная дата фиксируется, а окно подбора настроек растёт. В rolling walk-forward окно фиксированной длины сдвигается вперёд: старые данные удаляются, новые добавляются. Anchored чаще подходит для долгосрочных систем, rolling быстрее подстраивается под свежие условия.
Q3: Как выбрать периоды in-sample и out-of-sample?
Подбирайте длины окон под частоту сделок. Часто начинают с соотношения 3:1 или 4:1 (in-sample к out-of-sample). В каждом out-of-sample блоке должно быть достаточно сделок, чтобы выводы имели смысл.
Q4: Чем walk-forward тестирование отличается от бэктеста?
Обычный бэктест часто подбирает настройки и проверяет их на одних и тех же данных, поэтому переобучение легко пропустить. Walk-forward тестирование всегда проверяет на данных, под которые настройки не подбирались. Из-за этого walk-forward результаты обычно ближе к реальной торговле, чем простой бэктест.
Практикуйте walk-forward тестирование с VT Markets
Сильная стратегия заслуживает реальной торговли только после проверки на данных, которых она не «видела». Для этого и нужна walk-forward проверка: она заменяет надежду фактами и помогает отличить красивый тест на истории от более надёжного результата.
Трейдеры, которые держатся долго, дисциплинированно тестируют. Они проверяют на «невиданных» данных, понимают ограничения метода и не считают аккуратный бэктест гарантией. Если вы выработаете эту привычку, каждая следующая стратегия будет лучше проверена.
С VT Markets вы можете применять стратегию walk-forward проверки в MetaTrader 4 (MT4) и MetaTrader 5 (MT5), с условиями, близкими к рынку, и быстрым исполнением сделок.