Skip to content

Одноногий режим (One-Legged) ​

Актуально на 14.10.2026. Источники: spreadracer-v3-trading-agent (execution/engine.py, execution/position_manager.py, market_data/), бэкенд trading_fork_consumer.py (Telegram-уведомления).

Суть стратегии OL: якорь (DEX-пул через GMGN или эталонная CEX) двигается первым, таргет-CEX отстаёт. Позиция открывается только на таргете одной ногой (long или short — автоматически), прибыль — на схождении таргета к якорю.

Ключевые правила ​

АспектПоведение
Сторона позицииАвтоматически: сторона с большим эффективным спредом (сырой − медиана 5 мин)
Спред входаWalked-цена стакана таргета (ask для long, bid для short) против книги якоря
Импульс (jump)Якорь сдвинулся за 5 с ≥ порога, движение однонаправленно за 10 с, eff-спред ≥ порога
Отклонение (deviation)Достаточно эффективного спреда — постоянный базис сам по себе не стреляет
Заявка входаЛимитная по walked-цене × (1±slippage), снап на тик; ожидание фила 2 с, до 4 попыток cancel/refetch
GSL (глобальный стоп)При входе: mid_якоря × (1 ∓ k·size); jump k=0.4·mv, deviation k=0.5·max(eff, 4%). Выход по рынку при пробое ≥ 1 с
Выход по схождениюExit-спред ≥ порога (минус медиана противоположной серии) → рыночный reduce-only
Выходы всегоСхождение, GSL, ручной CLOSE/STOP. Тейк-профит-трала нет
ЯкорьНе торгуется никогда; DEX-котировка старше 10 с блокирует и вход, и выход
Бумажный режимТа же логика сигналов, исполнение виртуальное по walked-ценам

Уведомления (Telegram) ​

Торговый агент публикует события в Redis-стрим fork:events, бэкенд слушает его и шлёт владельцу через trading-бота:

  • Вход — сторона (Лонг/Шорт), фактический спред, медиана спреда (5м), эффективный спред, цена входа, плечо, маркер «(бумажная сделка)».
  • Выход — причина (convergence / global_stop_loss / manual), цены филов.
  • Ошибки — ENTRY_MISSED (вход не состоялся, мониторинг продолжается), ENTRY_FAILED (откат невозможен — форк в ошибке), EXIT_FAILED.

Live-спред для карточки триггера публикуется каждый тик в spread:{user}:{fork_id}.