Skip to content

Take-Profit of a Grid bot ​

The Take-Profit of a Grid bot is a price at which the bot locks in profit: it cancels its orders, closes its position at market and finishes its work. It is optional: the grid earns on the cycles inside the range without it as well, and the take-profit is there so that the bot stops by itself once the price has gone far in the profitable direction.

What it is ​

Take-Profit is the price at which the bot locks in profit: it stops, cancels its orders and closes its position at market. For Long and Neutral it is above the upper bound of the grid, for Short — below the lower bound. It is optional: in the app the field hint says “Empty — no take-profit”.

What is special about the grid take-profit:

  • There is no conditional order on the exchange — the bot itself checks the price every 10 seconds and closes the bot's position at market when it fires (not your manual position in the same pair). Do not look for the take-profit in the order list on Bybit.
  • The check runs both while the bot is paused and while the price is out of the range; not in the “Locked” and “Error” statuses.
  • On spot the trigger is counted by Last Price; on futures — by the same trigger type as the Stop-Loss.
  • The take-profit must be outside the range on the profit side: for Long and Neutral — strictly above the upper bound, for Short — strictly below the lower one. Otherwise it would fire right after the start. For an Infinity Grid — above the top level of the grid, this is checked both at creation and when it is edited.
  • A bot whose grid has not been built yet (no levels at all) is not stopped by the take-profit.

When it fires: for Long and Neutral — the price has risen to the take-profit or above it, for Short — it has fallen to the take-profit or below it. To limit a loss there is a separate setting — Stop-Loss; the two can be set together: the stop on one side of the range, the take-profit on the other.

Where it is in the bot ​

🏠 Home → 🤖 Bots → ➕ Grid bot — in the wizard in the Sync app, the Take-Profit, price field of the More options block — right after Stop-Loss, price, on spot and on futures. The trigger type is the Price that triggers the stop and take-profit field shared with the stop, on futures only; the trigger type is set only at creation. The take-profit itself can be set, changed or removed on a created bot as well — with ✏️ Edit in the bot card (it opens the app) or on the website (see “How to set it up”).

The field has the hint “Long and Neutral — above the range, Short — below. When the price gets there, the bot stops and closes its position in profit. Empty — no take-profit.”

The take-profit you set is visible in the bot card: in Telegram — as the line “🎯 Take-Profit: 70000” (it is absent when no take-profit is set; the line “🛑 Stop-Loss: …” is shown the same way), on the website — in the bot card.

How to set it up ​

  1. Enter the price in Take-Profit, price, for example 70000 (in USDT; on USDC pairs — in USDC); an empty field means no take-profit.
  2. The wizard checks the price right away: for Long and Neutral it must be above the upper bound, for Short — below the lower bound.
  3. On futures you may change the trigger type in Price that triggers the stop and take-profit: Mark (recommended), Last or Index. The type is one for the stop and the take-profit and applies if a Stop-Loss or Take-Profit is set.

When it fires you get a message with the 🤖 Open bot button — it opens the card of this bot in the app:

🟢 Grid bot: take-profit triggered
BTC grid · BTC/USDT
Price 70020, take-profit 70000 (by mark price)
Realized: +2.4 USDT

The bot is stopped: grid orders cancelled, the bot's position closed at market.

The brackets show which price the bot used for the trigger (as chosen for the bot), “Realized” is the profit or loss of the bot from closed grid cycles (Realized P&L) with its sign, the bot re-reads it after the stop. Closing what is left of the position at market when the take-profit fires is not included in this figure — its result is in the trade history on the exchange. It is the same number as “Realized” on the bot card in the app. The bot status becomes “Closed”.

On a created bot ​

The take-profit can be set, changed or removed on any bot except a closed or closing one: whether it is running, paused (a hard pause included), out of the range or waiting for the trigger.

  • In the bot: 🏠 Home → 🤖 Bots → the bot → ✏️ Edit — the Sync app opens; there tap Stop-Loss and Take-Profit. On the website app.sync.trade it is the same: Grid bots → the bot → the Change settings block → Stop-Loss and Take-Profit.
  • The window has the field Take-Profit, price, filled with the current value, with the hint “Above the upper bound 66000. Empty — no take-profit.” (for Short — “Below the lower bound 60000. Empty — no take-profit.”, for an Infinity Grid — “Above the top level of the grid. Empty — no take-profit.”). An empty field means no take-profit. Apply → “Stop-Loss and Take-Profit saved”.

The change is saved at once — there are no exchange orders for the take-profit, so no separate notification arrives, the result is visible in the edit window. The price is a number greater than zero, with a point or a comma, up to 12 digits before the point and 8 after. Besides the “outside the range” rule the bot checks that the current price has not reached the new take-profit yet (by the same price type as chosen for the bot; on spot — by the last price) — otherwise the bot would stop at the next check. For a bot waiting for its trigger this check is not made: the grid starts at the trigger price. Only what you change is checked: a new take-profit does not run into the old stop. The trigger type of a created bot does not change.

Example with a calculation ​

A Long grid 60,000 — 66,000, 10 grids (11 price levels) of 10 USDT, step 600, TP 70000 — about 6 % above the upper bound.

For several days the price moves inside the range: the grid buys on a level and sells on the neighbouring one above, and every such cycle brings 0.09–0.10 USDT before fees. 25 cycles add up to about 2.4 USDT — they go straight into Realized P&L.

Then the price goes up. On the way the grid sells level by level: on spot the bought coins are sold, on futures the Long position is closed as the price rises. Above 66,000 there is nothing left to sell — the bot only has buy orders below the price. At about 67,500 the bot pauses with “Out of range (above)” (see Protections) and waits for the price to return.

At 70,000 the take-profit fires: the bot cancels the remaining buys, closes at market whatever is still left in the bot's position and moves to the status “Closed”. The cycle profit — about 2.4 USDT — stays in Realized P&L, and the funds from the buy orders are free again.

Without a take-profit the bot would just stay paused: the buy orders would wait for the price to return to the range, and the funds under them would stay locked until the price comes back or you stop the bot yourself.

Limits and allowed values ​

ParameterValueNote
TP price, Long and Neutralstrictly above the upper bounda price equal to the bound is rejected
TP price, Shortstrictly below the lower boundthe same
TP price, Infinity Gridabove the top level of the gridchecked at creation and when edited
Trigger typeMark / Last / Indexshared with the Stop-Loss; futures only; Mark by default; spot — always Last
Check period10 secondsworks during a pause and out of the range as well; not in the “Locked” and “Error” statuses
Order on the exchangenot placedthe close is at market at the moment it fires
Change after creationpossible: ✏️ Edit in the bot card (in the app) or on the websitethe new price must not be reached already; the trigger type — not possible

Common mistakes and what the bot says ​

  • “Allowed: above the upper bound” under Take-Profit, price at creation — for a Long/Neutral grid 60,000 — 66,000 the take-profit 66,000 is not accepted; move it above 66,000.
  • “Allowed: below the lower bound” — the same for Short: the take-profit 61,000 must be below 60,000.
  • “⚠️ The Take-Profit (66000) must be above the upper bound of the grid (66000) — otherwise it would stop the bot in the middle of normal trading.” — the same refusal when editing a created bot; for Short — “…below the lower bound of the grid (60000)…”.
  • “⚠️ The price has already reached this take-profit (70000): it is 70500 now. The bot would stop at the next check. If you want to stop the bot, tap «⏹ Stop…» in the bot card.” — the price is already above the new take-profit (for Short — below it). Put the take-profit further from the current price or stop the bot yourself.
  • “The price is a number greater than zero.” or “⚠️ Enter the price as a number greater than zero: up to 12 digits before the point and 8 after (for example 58000 or 0.5).” — when editing a created bot: letters, zero, a number that is too long or a notation like 1e5.
  • “Allowed: a number above 0” under Take-Profit, price — letters or zero in the price.
  • “⚠️ The bot's Take-Profit (70000) would end up inside the new boundaries and stop the bot in the middle of normal trading. The take-profit must stay outside the range: for Long/Neutral above the upper bound, for Short below the lower one. Move the take-profit first: «✏️ Edit» in the bot card → Stop-Loss and Take-Profit (the settings open in the app).” — for example, with the Change bounds edit the top was widened to 71,000 while the take-profit is 70,000. The change is not applied; choose the bounds so that the take-profit stays outside (see Editing a running bot).
  • There is no take-profit in the Bybit order list — that is how it should be, the bot keeps it itself.