Розроблення системи управління стоп-лосс
Управління стоп-лосс — це не просто виставлення ордера. Це система прийняття рішень щодо розміщення, переміщення та виконання захисних ордерів протягом всього життєвого циклу позиції.
Стратегії розміщення початкового стопу
На основі ATR: стоп на N × ATR нижче входу. N = 1.5–2.5 залежно від стратегії. Адаптується до волатильності.
На основі структури: стоп за найближчим структурним рівнем (swing low/high, підтримка/опір). Логічно обґрунтовано: якщо структурний рівень пробито, ідея торгівлі неправильна.
На основі волатильності (Chandelier): стоп на N × ATR нижче максимуму позиції. Автоматично trailing.
На основі відсотка: простий фіксований % від входу. Менш адаптивний, але простий.
Перемещення стопу
Беззбиток: після досягнення TP1 або N% прибутку перемістити стоп до точки входу. Позиція «вільної їзди».
class StopLossManager:
def __init__(self, entry_price, initial_stop, side='long'):
self.entry_price = entry_price
self.stop_price = initial_stop
self.side = side
self.state = 'initial' # initial, break_even, trailing
def check_breakeven_trigger(self, current_price, breakeven_trigger_pct=0.015):
if self.side == 'long' and self.state == 'initial':
profit_pct = (current_price - self.entry_price) / self.entry_price
if profit_pct >= breakeven_trigger_pct:
self.stop_price = self.entry_price
self.state = 'break_even'
return True
return False
def update_trailing_stop(self, current_price, highest_price, trail_pct=0.02):
if self.state in ('break_even', 'trailing'):
new_stop = highest_price * (1 - trail_pct)
if new_stop > self.stop_price:
self.stop_price = new_stop
self.state = 'trailing'
Жорсткий та м'який стоп
Жорсткий стоп: лімітний або ринковий ордер на біржі. Виконується автоматично без участі бота. Надійніше, але може дати ковзання при швидкому русі.
М'який стоп: моніторинг ціни в коді, відправка ордера при досягненні рівня. Більш гнучко (можна застосовувати логіку), але залежить від працездатності бота.
Рекомендація: обидва одночасно. М'який стоп скасовує жорсткий стоп при нормальній роботі. Жорсткий стоп — страховка на випадок збою бота.
Виконання при розриві
При відкритті gap (ціна стрибнула через рівень стопу):
- Лімітний стоп може не виконатися
- Ринковий виконується за гіршою доступною ціною
- Stop-limit (специфічний тип ордера): спусковий механізм за стопом, виконання лімітом
Налаштування stop-limit: спусковий механізм = $44,000, ліміт = $43,500. Виконується, якщо ціна при gap не падає нижче $43,500. Інакше залишається як лімітний ордер на відкритій позиції.
Моніторинг стопів
Панель приладів з візуалізацією всіх відкритих позицій, їх стопів та відстані до стопу у %:
| Символ | Вхід | Стоп | Відстань | Статус |
|---|---|---|---|---|
| BTC/USDT | $45,000 | $44,100 | 2.0% | Беззбиток |
| ETH/USDT | $3,200 | $3,000 | 6.25% | Начальний |
Сигнал при наближенні ціни до стопу на 50% від початкової відстані.
Розробляємо систему управління стопами з автоматичним переносом в беззбиток, trailing stop, підтримкою жорстких/м'яких стопів та моніторингом усіх позицій.







