Разработка алгоритма trailing stop
Trailing stop — динамический стоп-лосс, который движется вслед за ценой в прибыльном направлении, но не откатывается назад при движении против позиции. Фиксирует прибыль при развороте, позволяя прибыльным сделкам «течь».
Типы trailing stop
Percentage trailing stop: стоп находится на фиксированном % ниже (для лонга) максимальной достигнутой цены.
class TrailingStop:
def __init__(self, trail_pct=0.02):
self.trail_pct = trail_pct
self.highest_price = None
self.stop_price = None
def update(self, current_price):
if self.highest_price is None or current_price > self.highest_price:
self.highest_price = current_price
self.stop_price = current_price * (1 - self.trail_pct)
return self.stop_price
def is_triggered(self, current_price):
return current_price <= self.stop_price
ATR trailing stop: стоп на N × ATR ниже максимума. Адаптируется к волатильности. Chandelier Exit — популярная реализация: стоп = highest_high(22) − 3 × ATR(22).
Parabolic SAR: встроенный trailing stop индикатор. Автоматически ускоряется при продолжении тренда (acceleration factor 0.02–0.2).
Практические нюансы
Рыночный vs лимитный стоп: рыночный гарантирует исполнение, но при gap может быть значительный slippage. Лимитный — лучшая цена, но риск неисполнения при быстром движении.
Биржевые trailing stops: Binance и Bybit поддерживают native trailing stop orders (callbackRate параметр). Это предпочтительнее программного — исполняется на бирже даже при отключении вашего бота.
Activation price: trailing stop начинает отслеживание только после достижения цены активации. Полезно: войти по $40k, активировать trailing при достижении $42k (зафиксировав минимальную прибыль 5%).
Разрабатываем trailing stop модуль с поддержкой процентного и ATR-based trailing, native биржевых ордеров и software-based backup при недоступности native функции.







