Это самая дорогая ошибка во всём моём проекте по проверке торговых идей. Не по деньгам, по времени и по доверию к себе. То, что после таких проверок уцелело, я теперь веду вживую в открытом дневнике сделок (ссылка в конце).
Идеальная стратегия
Правило было простое, из учебника. Лонг по альтам на 12-часовых свечах: цена выше скользящей средней WMA50 (тренд вверх), RSI(14) опустился ниже 45 (откат), и следующая свеча пробивает максимум предыдущей (откат закончился, пошли дальше). Стоп за последним локальным минимумом, тейки по R.
Результат на истории 2021–2026, на 16 монетах, с комиссиями:
в среднем +0.32R на сделку (R — это размер риска до стопа);
81% сделок в плюсе;
все 6 лет в плюсе, включая медвежий 2022 год;
на отложенной части данных (2025–26) почти так же, как на обучающей.
Я знал, что так не бывает. Поэтому сделал то, что считается золотым стандартом: «чистую комнату». Отдельный исполнитель написал код с нуля только по текстовому описанию правил, не видя моего кода. Его результат: +0.35R, 81.5% побед, 918 сделок, 6 из 6 лет в плюсе. На 59 монетах то же самое.
Две независимые реализации сошлись. Я записал правило как «первый результат, переживший чистую комнату», и начал готовить его к реальной торговле.
Вопрос, который всё сломал
Когда дошло до живого журнала сделок, всплыла мелочь: лимитные заявки по этому правилу налетали не всегда. Я пошёл выяснять почему, и посмотрел, по какой цене бэктест «покупал».
Бэктест покупал по максимуму предыдущей свечи — в момент пробоя, внутри той свечи, которая этот пробой и сделала. Но сигнал состоит из трёх условий, и последнее — «свеча закрылась выше» — известно только после закрытия свечи. То есть бэктест покупал на уровне пробоя, уже зная, что пробой получится сильным. В реальном времени такой цены не существует: к моменту, когда вы знаете, что сигнал есть, цена уже ушла выше.
Обе «независимые» реализации повторили одну и ту же ошибку, потому что обе честно следовали описанию. Ошибка была не в коде, а в самой постановке: в том, когда именно мы можем купить.
Что получается, если покупать по-честному
Я проверил три способа входа, которые можно исполнить руками:
Лимитка на откате к уровню пробоя, ждём 48 часов. Налилось 75% заявок. Итог: −0.084R на сигнал. Самое неприятное: лимитка наливается именно на слабых пробоях, которые вернулись назад. Сильные уходят без вас.
Рынком на открытии следующей свечи: −0.049R (5384 сигнала).
Стоп-заявка на пробой, выставленная заранее, без знания, чем закончится свеча: −0.020R.
На полностью честном стенде, где покупка возможна только после того, как сигнал известен: −0.059R на сигнал. 0 из 44 вариантов настроек в плюсе. Плюс остался только в 2021 году — в бычьем рынке, где плюсовало всё.
+0.32R и 81% побед целиком сидели в цене входа, которую нельзя купить.
Масштаб
Когда я понял, в чём дело, я прошёлся по всем бэктестам проекта. Та же ошибка нашлась в 12 из 93 файлов. Параметры «канона» (WMA50, RSI 45) тоже были подобраны на заражённом стенде, так что гордиться их «оптимальностью» не приходилось.
Что я из этого вынес
1. Высокий процент побед — повод для подозрения, а не радости. 81% побед на простом правиле у 16 монет — почти всегда признак того, что где-то подсмотрено будущее.
2. Любой бэктест обязан ответить на вопрос: «по какой цене и в какой момент я реально мог купить?». Не «по какой цене был уровень», а «когда я узнал о сигнале и какая цена была доступна после этого».
3. «Чистая комната» не спасает от ошибки в постановке. Два независимых кода, написанных по одному неверному описанию, дадут одинаково неверный ответ. Проверять надо не только код, но и то, реализуемо ли описание.
4. Проверяйте свой журнал раньше, чем бэктест. Меня спас вопрос «почему лимитки не наливаются?». Живые сделки расходились с бумагой — и это расхождение было честнее всех проверок.
Самое неприятное в этой истории — насколько убедительной была стратегия. Каждая проверка, которую я знал, её подтверждала. Если бы я не полез в журнал, я бы торговал её деньгами.
Открытый дневник проверок в реальном времени, со всеми сгоревшими сделками:
https://t.me/+0qATsrdnloQ5YmUy
Это не финансовый совет.
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
BolshoyBrat_659, комиссия тут ни при чём, дело в выходе. Тейки были лесенкой: по трети позиции на +0.6R, +1.34R и +2.67R, а после первого тейка стоп переносился в безубыток.
Поэтому «победа» чаще всего маленькая: взяли первую треть на +0.6R, остаток выбило в ноль — это +0.2R, и сделка считается выигрышной. Все три тейка набирались редко. Средний выигрыш получается около +0.6R, средний проигрыш около −1.05R (с комиссией стоп стоит чуть больше 1R). Отсюда 81% побед и всего +0.32R на сделку.
R не меняется: он фиксируется при входе как расстояние до первоначального стопа. Перенос стопа в безубыток меняет исход, но не размер R.
И это как раз вторая причина не радоваться 81%: такая лесенка с безубытком сама по себе рисует высокий винрейт. Когда вход сделали честным, побед осталось 59%, а для безубытка при таком выходе их нужно около 70%.
BolshoyBrat_659, ха, тоже о таком думал, но не выйдет. Эти 81% получались только от цены входа, которой в жизни нет. Бэктест «покупал» на уровне пробоя, уже зная, что свеча закроется выше. При честном входе (после закрытия свечи) до первого тейка доходит уже не 81%, а около 59% сделок. То есть ваш шорт со стопом там, где был первый тейк, выбивало бы чаще, чем в половине случаев.
А в целом при честном входе лонг даёт около −0.06R на сделку. Разворот такой стратегии не превращает её в +0.06R: комиссию и проскальзывание платишь и там, и там, и почти ноль с обеих сторон остаётся нулём. Проверял это отдельно на других сигналах — «делать наоборот» заработать не даёт, если исходная стратегия просто около нуля, а не устойчиво в минусе.
BolshoyBrat_659, да, так тоже можно, и это третий вариант в статье: стоп-заявка на пробой хая, выставленная заранее, без ожидания закрытия. Он дал −0.020R на сделку — лучше остальных, но всё равно не плюс. Разница с «бумажными» +0.32R в том, что стоп-заявка покупает и ложные пробои, которые потом закрываются обратно под уровнем. Бэктест их просто не видел, потому что брал только свечи, закрывшиеся выше.
А арифметика у вас почти точная. Если подставить наши цифры, средний выигрыш с лесенкой тейков около +0.60R, средний проигрыш с комиссией −1.07R, побед 59%: 0.59 × 0.60 − 0.41 × 1.07 ≈ −0.08R. Около нуля или чуть ниже — ровно то, что получилось на честном стенде.
ПС… Я крипты не тестировал.
— лесенка 0.6/1.34/2.67R + безубыток: −0.059R
— та же лесенка без безубытка: −0.052R
— безубыток только после второго тейка: −0.048R
— один тейк 1.5R: −0.039R
— трейлинг по ATR: −0.024R (лучший)
— держать до тайм-стопа без тейков: плюс только в бычьем 2021, на проверочной части −0.04R
Трейлинг был по ATR, а не в R, как вы предлагаете. Прогоню и ваш вариант — стоп ступенями в R без фиксированных тейков — и отпишусь здесь цифрами.
Без комиссии и прскальзований( это потом уситываю если хоть что то профитное есть).Такая чистая стата определяет что за актив, если профит есть(ср.сделка >0) то можно трендовое ставить-искать, если нет, то контртрендовое нужно лепить.
1. Трейлинг в R — на том же честном входе (12ч, 16 монет, с издержками). Стоп на 1R ниже максимума после +1R надёжно лучше лесенки тейков: примерно +0.1R на сделку на тех же входах, и на 2019–24, и на 2025–26. Против трейлинга по ATR разница на грани. Ступени (+1R → стоп в 0, +2R → стоп на +1R) — примерно так же.
Сам по себе результат скромный: +0.07R на 2019–24, но это три удачных месяца, без них минус; на 2025–26 около нуля. То есть выход вы улучшили заметно, а вход просто не зарабатывает. Спасибо — если вернусь к этому входу, возьму ваш выход.
2. Ваша «чистая стата» на крипте: пробой хая/лоя прошлого бара, стоп = тейк = 1R, без издержек. BTC, ETH, 59 альтов на 4ч/12ч/дневках и 683 перпа с делистнутыми, 2021–26: доля побед везде 49–53%. По годам она повторяет направление рынка (шорты BTC в 2022 — 57%, лонги в 2024 — 60%). Вперёд не переносится: у монет, «трендовых» в прошлом году, в следующем 51.5–52.9%, после издержек около нуля; контртренд по «нетрендовым» тоже не выигрывает.
Одна грабля: если на дневках в свечах, где задело и стоп, и тейк, считать исход пополам — выходят ложные 55–57%. По часовикам внутри таких свечей выигрывают только 30%.