One-Way position mode on futures
On Bybit futures an account has a position mode. It defines how many positions on one pair can be held at the same time, and the bot has to take it into account. Spot has no position mode.
What this is
This is how the bot describes both modes on the settings screen:
- “One-Way — only one active trade per pair.”
- “Hedge — one LONG and one SHORT per pair simultaneously.”
What Sync requires:
| Who trades | Mode on the exchange |
|---|---|
| Grid bot, DCA bot | One-Way only. In Hedge the bot refuses both at creation and when a delayed start is activated |
| Signal bot (signals, manual trades) | The mode in the bot settings must match the mode on the exchange. The simplest way is to keep One-Way everywhere |
Where it is in the bot
- The mode on the exchange: Bybit account → futures trading settings → "Position mode" → One-Way (in the Russian interface of the exchange it is called 'Односторонний'). Switching is possible only when there are no open positions and no active orders on the account.
- The mode in the Signal bot: bot card → Trading settings → Margin & leverage → the Position mode button. The screen is available only for futures bots (“Position mode is available only for futures bots.”), the choice is One-Way or Hedge, and “Mode applies only to new trades.” A new bot has One-Way by default.
How it works in trades
In One-Way one trade lives per pair:
- A signal arrived for a pair that already has an active trade in the same direction — a second trade is not opened. In detail — One signal per pair.
- An opposite signal arrived (for example SHORT while a LONG is open) — the bot first closes the old position, then opens the new one. Up to 5 attempts are given to close the opposite position; if it cannot be closed, the entry is rejected with an explanation.
- In Hedge both positions can live at the same time — but Grid and DCA do not work in that mode.
The bot checks the mode against the exchange before creating a Grid/DCA bot and when a delayed start is activated, and while the bot runs it watches whether the mode has changed.
If the mode is changed while a bot is running
Changing the mode on the exchange while a Grid or DCA bot is running pauses the bot with a message:
🚨 Position mode changed on the exchange Grid bot #12 (BTCUSDT) has been paused. Expected: One-Way Actual: Hedge To resume the bot — change the position mode back in exchange settings, then unpause the bot. Otherwise all orders will be rejected with "position idx mismatch".
Set One-Way back on the exchange and unpause the bot. See also “Position mode changed on the exchange”.
Limits and allowed values
| Parameter | Value | Note |
|---|---|---|
| Grid and DCA on futures | One-Way only | Checked at creation and when a delayed start is activated |
| Spot | No position mode | The setting is unavailable |
| Switching on Bybit | Without open positions and active orders | Otherwise the exchange will not let you change the mode |
| Closing an opposite position in One-Way | Up to 5 attempts | After that the entry is rejected |
| The setting in the Signal bot | New trades only | Open trades are not affected |
Common errors and what the bot says
- “Grid bot requires One-Way position mode. Current mode on exchange for BTCUSDT: Hedge. Switch mode in exchange settings or use different API keys.” — the same for DCA: “DCA bot requires One-Way position mode…”. See One-Way mode required.
- “⚠️ Grid BTCUSDT — trigger fired, but activation was blocked. … Switch the account to One-Way mode and it will start on the next trigger hit (or launch it manually).” — the delayed start did not pass the mode check; the bot keeps waiting for the trigger.
- “Opening trade for BTCUSDT is not possible (One-Way mode): there is already an active trade or pending entries for this pair.” — wait until the first trade is closed.
- “Entry for BTCUSDT in SHORT direction rejected (One-Way mode): current position not fully closed after 5 attempts. Close the position and cancel orders on exchange first.”
- “Hedge mode is enabled. Please switch position mode to One-Way in your exchange account settings.” — the exchange is in Hedge while the bot expects One-Way.
- “Position mode on the exchange does not match the expected one (Hedge / One-Way)” — compare the mode in the bot settings and on the exchange.
- “Could not determine position mode on exchange for BTCUSDT. Please try again later.” — the exchange did not answer; try again in a minute.
