Режим позиций One-Way на фьючерсах
На фьючерсах Bybit у аккаунта есть режим позиций. Он влияет на то, сколько позиций по одной паре можно держать одновременно, и бот обязан его учитывать. Для спота режима позиций нет.
Что это
Так бот описывает оба режима на экране настроек:
- «One-Way — по одной паре можно держать только один активный трейд.»
- «Hedge — по одной паре можно держать один LONG и один SHORT одновременно.»
Что требует Sync:
| Кто торгует | Режим на бирже |
|---|---|
| Grid-бот, DCA-бот | Только One-Way. В Hedge бот откажет при создании и при активации отложенного старта |
| Signal-бот (сигналы, ручные сделки) | Режим в настройках бота должен совпадать с режимом на бирже. Проще всего держать One-Way везде |
Где в боте
- Режим на бирже: кабинет Bybit → настройки фьючерсной торговли → «Position mode» → One-Way (в русском интерфейсе биржи — «Односторонний»). Переключение возможно, только когда на счёте нет открытых позиций и активных ордеров.
- Режим в Signal-боте: карточка бота → Торговые настройки → Маржа и плечо → кнопка Режим позиций. Экран доступен только фьючерсным ботам («Режим позиций доступен только для фьючерсных ботов»), выбор — One-Way или Hedge, и «Режим применяется только к новым сделкам». У нового бота по умолчанию стоит One-Way.
Как это работает в сделках
В One-Way по каждой паре живёт одна сделка:
- Пришёл сигнал по паре, где уже есть активная сделка в ту же сторону — второй трейд не открывается. Подробнее — Один сигнал на пару.
- Пришёл встречный сигнал (например, SHORT при открытом LONG) — бот сначала закрывает старую позицию, затем открывает новую. На закрытие встречной позиции даётся до 5 попыток; если закрыть не удалось, вход отклоняется с пояснением.
- В Hedge обе позиции могут жить одновременно — но Grid и DCA в таком режиме не работают.
Бот сверяет режим с биржей перед созданием Grid/DCA-бота и при активации отложенного старта, а во время работы следит, не изменился ли он.
Если сменить режим во время работы
Смена режима на бирже при работающем Grid- или DCA-боте ставит бота на паузу с сообщением:
🚨 Изменён режим позиций на бирже Grid-бот #12 (BTCUSDT) приостановлен. Ожидалось: One-Way Фактически: Hedge Чтобы продолжить работу бота — верните режим позиций обратно через настройки биржи и снимите бот с паузы. Иначе все ордера будут отклоняться биржей с ошибкой «position idx mismatch».
Верните One-Way на бирже и снимите бота с паузы. См. также «Изменён режим позиций на бирже».
Ограничения и допустимые значения
| Параметр | Значение | Примечание |
|---|---|---|
| Grid и DCA на фьючерсах | Только One-Way | Проверка при создании и при активации отложенного старта |
| Спот | Режима позиций нет | Настройка недоступна |
| Переключение на Bybit | Без открытых позиций и активных ордеров | Иначе биржа не даст сменить режим |
| Закрытие встречной позиции в One-Way | До 5 попыток | Дальше вход отклоняется |
| Настройка в Signal-боте | Только для новых сделок | Открытые сделки не затрагивает |
Типовые ошибки и что бот скажет
- «Grid-бот требует режим позиций One-Way. Сейчас на бирже для BTCUSDT: Hedge. Переключите режим в настройках биржи или используйте другие API-ключи.» — то же для DCA: «DCA-бот требует режим позиций One-Way…». См. Требуется режим One-Way.
- «⚠️ Grid BTCUSDT — триггер сработал, но активация заблокирована. … Бот остался в ожидании триггера. Переключите аккаунт в режим One-Way — бот запустится при следующем достижении цены (или запустите вручную).» — отложенный старт не прошёл проверку режима.
- «Открытие сделки по BTCUSDT невозможно (режим One-Way): по паре уже есть активная сделка или выставленные входы.» — дождитесь закрытия первой сделки.
- «Вход по BTCUSDT в направлении SHORT отклонён (режим One-Way): текущая позиция не закрыта полностью после 5 попыток. Сначала полностью закройте позицию и отмените ордера на бирже.»
- «Включён режим хеджирования. Необходимо переключить режим позиции на Односторонний в личном кабинете на сайте биржи.» — на бирже Hedge, а бот ждёт One-Way.
- «Режим позиций на бирже не совпадает с ожидаемым (Hedge / One-Way)» — сверьте режим в настройках бота и на бирже.
- «Не удалось определить режим позиций на бирже для BTCUSDT. Повторите попытку позже.» — биржа не ответила; повторите через минуту.
