БлогБектест
Бэктест вручную: как проверить стратегию на истории за вечер
Что такое бэктест, чем ручной отличается от тестера стратегий, как сделать его по шагам, сколько времени занимает месяц истории и как читать итог в R.

Содержание
Бэктест вручную проверяет стратегию на истории без кода. Вы встаёте в выбранное место прошлого, видите только бары до него, двигаете время вперёд и торгуете так, будто будущего ещё нет. Месяц пятиминутного графика на обычной скорости проходит примерно за три с половиной часа, то есть за один вечер, а итог считают в кратностях риска.
Что такое бэктест
Бэктест — это проверка торговых правил на прошлых данных: как стратегия торговала бы, если бы вы применяли её тогда. Он отвечает на вопрос, есть ли у правил плюс на длинной дистанции, раньше, чем вы рискнёте деньгами.
Проверка на истории бывает автоматической и ручной:
| Тестер стратегий | Ручная проверка | |
|---|---|---|
| Что проверяет | правила, записанные кодом | любую торговлю, в том числе по уровням и контексту |
| Нужен ли код | да | нет |
| Скорость | годы истории за минуты | месяц за вечер |
| Слабое место | подгонка параметров под историю | мало сделок и усталость |
Тестер стратегий подходит, если вход описывается формулой: пересечение средних, пробой канала. Если вы входите по уровням, структуре рынка или новостному фону, записать это кодом трудно. Тогда остаётся встать в прошлое и торговать руками.
Как сделать бэктест вручную
- Запишите правила до начала: где вход, где стоп, где цель, сколько риска на сделку. Правила, придуманные по ходу, проверяют не стратегию, а вашу память.
- Выберите инструмент и таймфрейм, на которых торгуете вживую.
- Начните со случайной даты, а не с периода, который хорошо помните.
- Задайте издержки: комиссию, спред и своп, как на вашем счёте.
- Двигайте время вперёд по бару и торгуйте только по тому, что видно слева от курсора.
- Наберите хотя бы 30 сделок, лучше 100: на десятке результат решает случай.
- Посчитайте итог в R и сравните с тем, как вы торгуете вживую.
Ошибки, из-за которых проверка на истории врёт
Самая частая ошибка — заглядывание вперёд. Достаточно один раз увидеть, куда пошла цена, и следующие решения уже не честные. Поэтому будущее на графике должно быть закрыто, а шаг назад должен стирать результат.
Вторая ошибка — тест без издержек. На мелких ходах комиссия и спред легко превращают небольшой плюс в минус, особенно на минутных графиках.
Третья — подгонка. Чем больше вариантов правил перебрано на одной и той же истории, тем выше шанс, что лучший из них просто подстроен под эти данные. Это показано в исследовании Bailey, Borwein, López de Prado и Zhu «The Probability of Backtest Overfitting» (Journal of Computational Finance, 2016). Защита в том, чтобы меньше перебирать: записать правила заранее и не менять их по ходу прогона. Отрезок истории, отложенный для проверки, помогает, но, как показывают авторы, тоже не гарантирует честный результат.
Как читать итог бэктеста
Удобнее всего считать в R, кратностях риска: сделка с риском $50 и результатом +$100 равна +2R. Условный прогон:
- Прибыльных
- 12 из 30
- Средняя прибыль
- +2R
- Средний убыток
- −1R
- 12 × 2 − 18 × 1
- +6R
- На сделку
- +0.2R
- При риске $50 на сделку
- +$300
С такими цифрами система в плюсе при 40 % прибыльных сделок. Но 30 сделок мало, а на мелких ходах комиссия легко превращает небольшой плюс в минус. Ожидание на сделку в R не зависит от размера позиции, поэтому его можно сравнивать между прогонами с разным депозитом. Как задать риск в деньгах, разобрано в статье про расчёт лота от риска.
Проверка на истории в Pulse Terminal: старт и скорость
Pulse Terminal — торговый терминал для Windows, в котором ручная проверка на истории встроена в обычный график. Режим так и называется, Бектест. Заявки уходят на бумажный счёт внутри терминала, до брокера и биржи они дойти не могут: в торговом модуле всё время стоит тег БТ, а в подвале метка БЕКТЕСТ.


Точек старта пять:
- «Бар» — клик по бару на графике, бары правее линии выбора погашены.
- «Дата…» — окно выбора дня и времени.
- «Первая доступная дата» — самое начало истории тикера у брокера.
- «Случайный бар» — случайная минута истории, для проверки на месте, о котором вы ничего не помните.
- «Продолжить последний» — с той минуты, где закончили, со счётом и сделками как были.
Скорость считается в барах: 1× — это один бар за две секунды, дальше кратно, 120× — это 60 баров в секунду. Посчитаем торговый месяц форекса, 22 дня по 24 часа:
| Таймфрейм | Баров | 1× | 5× | 120× |
|---|---|---|---|---|
| 1m | 31 680 | 17 ч 36 мин | 3 ч 31 мин | 8 мин 48 с |
| 5m | 6 336 | 3 ч 31 мин | 42 мин | 1 мин 46 с |
| 15m | 2 112 | 1 ч 10 мин | 14 мин | 35 с |
| 1h | 528 | 18 мин | 3 мин 31 с | 9 с |
Это время хода без пауз на решения. Старшие скорости нужны, чтобы промотать пустые часы до вашей сессии: торговать на 60 барах в секунду не получится. Там же есть прыжки курсора: на час, на сутки, на своё время или к ближайшей новости.
Издержки и правила прогона
Результат без издержек мало что значит, поэтому прогон считает их так же, как живой счёт.
- Комиссия: ноль или пустое поле — комиссия брокера, как в живом расчёте. У MetaTrader 5 это плата за лот по сделкам тикера, у биржи ставка taker вашего счёта.
- Спред: ноль — типичный спред истории. У брокера это медиана спреда минуток за неделю прогона. MetaTrader 5 хранит наименьший спред каждой минуты, поэтому живой в среднем шире, и своё число можно задать вручную. У биржи в свечах спреда нет, берётся спред стакана на момент старта.
- Своп задаётся за лот в сутки и начисляется на каждой серверной полуночи, со среды на четверг ставка тройная.
- Лимиты риска, дневная просадка и серия убытков, работают и здесь. Как их выбрать, разобрано в статье про дневной лимит убытка.
- Назад нельзя: шаг назад обнуляет счёт, потому что торговать в прошлом, зная будущее, нельзя. Перед первым сбросом терминал спросит и предложит записать прогон в журнал.
У метода есть пределы. Если минуток за какой-то отрезок нет нигде, прогон идёт барами крупнее, и внутри бара движения цены нет: на полосе появится подпись «по барам». И на бумажном счёте не страшно, поэтому живой результат часто хуже. Отработать вход без риска можно и на симуляторе трейдинга, разница в том, что прогон по истории копит статистику правил.
Куда попадает прогон
При выходе прогон сам записывается в журнал сделок, если он не короче 10 минут и в нём хотя бы две сделки. Более короткий можно сохранить кнопкой. В журнале прогон стоит отдельным источником рядом с живыми счетами, а строки с малым числом сделок там бледнее: выводу по ним верить рано. У прогона есть плитка «Против «просто держать»»: насколько результат лучше или хуже, чем купить инструмент в начале окна и держать до конца.
Два или три прогона можно открыть в сравнении: кривые счёта рядом и таблица с итогом, winrate, профит-фактором и просадкой. Прогон можно выгрузить файлом и передать другому человеку. Он пройдёт то же окно истории вслепую: чужие сделки скрыты, пока его собственный прогон не дошёл до конца.
Частые вопросы
Что такое бэктест простыми словами?
Так называют проверку торговых правил на прошлых данных. Вы смотрите, как стратегия торговала бы раньше, и считаете итог: сколько сделок, какой процент прибыльных, сколько в среднем приносит одна сделка. Это способ найти слабое место правил раньше, чем его найдёт рынок.
Сколько сделок нужно для бэктеста?
Не меньше 30, а лучше 100 и больше. На 10–20 сделках итог сильно зависит от случая: одна крупная прибыль переворачивает картину. Чем реже прибыльные сделки в вашей системе, тем больше их нужно, чтобы среднее перестало прыгать от прогона к прогону.
Можно ли сделать бэктест бесплатно?
Да. Самый простой вариант — листать график вручную и записывать сделки в таблицу, но так легко подсмотреть будущее. Удобнее программа, которая прячет бары правее курсора и сама считает итог. В Pulse Бектест входит в основную программу, а не в платные дополнения, и работает в пробный период.
Чем бэктестинг отличается от демо-счёта?
Демо идёт в реальном времени: месяц торговли занимает месяц. Проверка на истории проходит тот же месяц за вечер и позволяет выбрать любой период, в том числе редкий, например день большой новости. Демо зато честнее по исполнению: цены и задержки там живые.
Цифры в статье — учебные расчёты, а не торговая рекомендация. Торговля на финансовых рынках связана с риском потери средств.

