Расскажу, что переделал и почему
Прошлая версия killswitch (v6.0) умела хорошо одно: при резком проливе найти виноватую сторону и закрыть её по стадиям. Для флеш-крашей это работает.
Но я разобрал реальное поведение на реальном депозите (своем) за последние месяцы. Счёт сполз с пика почти на −50% за месяц — а killswitch не сработал ни разу. Почему? Потому что не было ни одного резкого движения. Деньги уходили медленно: позиции висели в минусе днями, депозит подтекал по чуть-чуть. Все пороги «−4.5% за 15 минут» молчали, потому что таких 15 минут просто не случалось.
Killswitch сторожил жопу. А корабль тонул медленно.
Отдельная боль — когда отдельную монета качается ММ против рынка (особенно шорт против общего тренда). Позиция стекала часами до закрытия дневной свечи, на которой был подвешен стоп. У многих из нас динамические стопы работают именно «по закрытию» — и в такие моменты можно сильно всадиться, а портфельные пороги при этом ещё молчат.
Старая логика это не ловила. Поэтому я добавил второй контур — режимный страж. Он работает поверх старых стадий (они никуда не делись), но на уровне всего портфеля.
Главный принцип
Killswitch не лезет в логику работы сигналов. У каждой сделки свой оптимизированный вход и выход — это работа бота. Killswitch отвечает на другой вопрос: «рыночный режим развернулся против всей системы?» — и если да, закрывает позиции, неблагоприятные именно для этого режима. Это защита всего депозита, а не общий стоп на каждый трейд.
Четыре независимых датчика, все только закрывают (ботов не блокируют):
1. Катастроф-предохранитель (на одну позицию). Ни одна позиция не имеет права съесть больше 8% всего депозита. Если одну монету пампят против тебя и убыток переваливает порог — она режется сразу, не дожидаясь свечи. На моей истории этот предохранитель сработал бы ровно 1 раз из 180 позиций — на единственной монете, которую раскачали против шорта почти на +50% и которая дошла до −16% всего счёта. Остальные 179 сделок он бы не тронул.
2. Просадка портфеля. Эквити упало на 5% от пика за 48 часов и держится — закрыть проигрышную сторону (например, лонги).
3. Коррелированный кластер. Если 4+ позиции одной стороны одновременно стекают — это сигнал, что рынок развернулся против направления позиций. Одиночную позицию не трогаем — реагируем только на скоординированную течь.
4. Дневной лимит. Минус 6% от баланса счета на момент открытия дня — закрываем проигрышную сторону.
Три детали, которые отличают v7.0
🔹 Бьёт по самым быстро стекающим, а не «по всем в минусе». Закрывает 3 позиции, которые стекают БЫСТРЕЕ всего (по скорости за 15м+1ч+4ч). На бэктесте скорость оказалась лучшим признаком, чем размер убытка. Стабильная позиция около нуля под нож почти не попадёт.
🔹 Работает в обе стороны — зеркально. Стекают шорты — закроет шорты. Гейт зеркальный: лонги режем когда BTC падает, шорты — когда BTC растёт.
🔹 Не режет обычные откаты в тренде. Медленный бычий тренд по дневной доходности почти неотличим от боковика. Проверил на реконструированном окне с растущим BTC (+8%): без фильтра страж там терял, кромсая откупаемые откаты. Решение — медленные датчики срабатывают только при подтверждённом негативном макро (BTC за 7 дней в минусе).
Как это тестировалось
Я переиграл реальную историю депозита посекундно — что было бы, если бы страж работал в каждый момент, честно считая и спасённое, и срезанное зря.
Результат: просадка −50% → −26%, плюс/нейтрально во всех режимах, переживает тройную комиссию по сделкам.
Но важно понимать: это страховка, а не заработок. У меня на личном счете сейчас подключено порядка 10 разных лонговых торговых стратегий и KillSwitch помогает автоматом обрубать позиции, когда лонги открываются против движения рынка (например, биток падает) и вовремя резать убытки
Все документы и инструкции - скачать можно с моего GitHub (кстати, подписывайтесь, ставьте звезды, вам же не жалко)
