Политика отсутствия перерисовки¶
🎯 Почему это важно (для тех, кто торгует)¶
Прежде чем переходить к технике, вот что отсутствие перерисовки значит на практике:
Что такое перерисовка?
Некоторые индикаторы меняют свои прошлые сигналы по мере появления новых баров. Индикатор может показать вам сегодня сигнал на покупку на старой свече, которого вчера, когда вы торговали, там не было. Это и называется перерисовкой, и она даёт обманчивый backtest.
Гарантия Signal Pilot: перерисовки нет
Индикаторы Signal Pilot проверяются на то, что сигнал, появившийся на закрытой свече, остаётся там навсегда. То, что вы видите на исторических свечах, — это ровно то, что появилось в реальном времени. Это даёт:
- Честный backtesting и трезвую оценку результата
- Надёжно настроенные алерты
- Уверенность, что исторические сигналы отражают действительное состояние рынка
- Никаких ложных результатов backtesting
Как это проверить самому?
Способы, которыми пользователи обычно сами проверяют отсутствие перерисовки:
- Проверка в режиме реплея: включите реплей баров в TradingView и сравните сигналы во время формирования бара с теми, что остаются после его закрытия
- Сравнение снимков экрана: снимайте сигналы в момент появления и через несколько дней сравнивайте с теми же свечами
- Журналы алертов: сравните время срабатывания алерта с моментом, когда сигнал действительно появляется на графике
- Разбор кода: посмотрите техническую реализацию (см. разделы ниже)
Учебная цель
Технические разделы ниже позволяют проверить всё на уровне кода — для разработчиков и опытных пользователей. Такая открытость даёт возможность независимо проверить сказанное здесь об отсутствии перерисовки.
Signal Pilot сделан так, чтобы быть детерминированным на закрытии свечи.
- Сигналы, подтверждённые закрытием — алерты срабатывают только при
barstate.isconfirmed. - Данные HTF — берутся через
request.security(..., lookahead_off)и принимаются только после закрытия бара HTF. - Пивоты и дивергенции — рисуются только после того как подтвердится правый пивот; затем привязываются обратно к исходному бару.
- Привязка — метки и маркеры используют
x=bar_indexиyloc.price, чтобы ничего не смещалось.
Что это значит: Никакого заглядывания в будущие бары. Backtest и алерты совпадают с поведением в реальном времени.
Только в образовательных целях. Торговля сопряжена со значительным риском убытков. Это не финансовая консультация. Прошлые результаты не гарантируют будущих.