MARKET
How-to guide · Risk management · 13 min read

How to set a stop-loss and take-profit together

Quick answer. On Binance spot you pair the two exits in one of two ways. If you already hold the coin, place an OCO sell: a take-profit limit above the price and a stop-limit below it, sharing one amount — when one leg triggers, the other is cancelled. If you are still buying, tick TP/SL on a limit buy. That pair only switches on after the buy fully fills, so check it after every partial fill.

A stop-loss on its own tells the exchange when you are wrong. A take-profit on its own tells it when you are done. Placing both at once, linked so that one cancels the other, is what lets you walk away from the screen. Binance offers three different ways to build that pair, and they do not behave the same when something goes slightly wrong — a buy that only partly fills, a stop that triggers into a gap, a futures order that is rejected because you already have too many. This guide works one trade through all of it, with the fees included, because the fees change the answer more than most people expect.

Binance OCO sell for 0.04 BTC: take-profit limit at 62,400, stop-loss trigger at 58,800 marked as the field to watch, and a Sell BTC button
The worked trade on this page: 0.04 BTC bought at $60,000, a take-profit at $62,400 and a stop triggering at $58,800, placed as one order.

KEY TAKEAWAYS

  • An OCO is one order with two legs. Binance cancels the second leg as soon as the first one triggers — you can never be filled on both.
  • A limit buy with TP/SL attached does nothing protective until the buy fills completely. A partial fill leaves the coins you did get with no exit at all, and locked.
  • On our worked trade the fees turn a planned $50 loss into $56.75, and a 1:1 target needs a 56.8% win rate just to break even — not 50%.
  • Binance Futures behaves the opposite way on partial fills: it places TP and SL for the full order size regardless. Same idea, different screen, different rule.

Which of the three ways should you use?

Pick by what you are holding right now, not by which name you have heard. If the coin is already in your spot wallet, use an OCO. If you are about to buy and want the exits in place from the first second, use a limit order with TP/SL ticked. If you are trading a perpetual contract, use the TP/SL box on the futures order form.

The three look alike in screenshots, which is exactly why people mix them up. The differences sit in the fine print of three separate Binance help pages, so here they are side by side.

Spot OCOSpot limit buy + TP/SLFutures order + TP/SL
Use it whenYou already hold the coinYou are placing the buy nowYou are opening a perpetual position
Where it lives[Trade] → [Spot] → order type [OCO][Limit] → tick [TP/SL]Order form → tick [TP/SL]
LegsTake-profit limit + stop-limitLimit buy, then TP, SL or bothEntry, then TP and SL
If the entry only partly fillsNot applicable — no entry legTP/SL never activatesTP/SL placed for the full order size
When one exit goesThe other is cancelledThe other is cancelledThe other is cancelled
Trigger referenceLast traded priceLast traded price[Last Price] or [Mark Price], your choice

Compiled from Binance’s help pages on OCO orders (updated 6 Jan 2026), OTO and OTOCO orders (updated 4 Feb 2026) and futures Limit TP/SL orders, all read 2 Oct 2026, plus the spot API documentation for the price rule. Labels in brackets are quoted from those pages.

If none of these words is familiar yet, read market, limit and stop orders first — this page assumes you know what a limit order and a stop-limit are.

How do you place an OCO when you already hold the coin?

Open spot trading, choose OCO, fill four boxes, press Sell. Binance’s own instructions are four steps: go to [Trade] → [Spot], pick [OCO] from the order-type dropdown, enter the details, and submit. The care goes into the four boxes.

Binance spot OCO: one sell order, two exitsTake-profit limit above the market, stop-limit below it, one shared amount Binance spot OCO: one sell order, two exits Take-profit limit above the market, stop-limit below it, one shared amount Spot Cross Isolated Limit Market Stop Limit OCO Take Profit · Limit (USDT) 62,400 Target: 2R above entry Stop Loss · Stop (USDT) 58,800 Trigger: 2% below entry Stop Loss · Limit (USDT) 58,700 $100 buffer under trigger Amount (BTC) 0.04 Covers 0.04 BTC only Sell BTC Buy BTC Sell rule: take-profit limit > last price > stop trigger. When one leg triggers or fills, Binance cancels the other.
The OCO form as Binance’s help page describes it, drawn with this guide’s numbers. Four boxes: the take-profit limit at $62,400, the stop trigger at $58,800, the stop limit $100 below it, and one amount shared by both legs. Structure, not pixels — check the labels on your own screen.

Our worked trade: a $5,000 account risking 1%, so a $50 budget. You bought 0.04 BTC at $60,000. The chart says you are wrong below $58,800, so that is the stop. (Round numbers, chosen so the arithmetic is easy to follow; bitcoin traded near $85,000 on the day this was written, and every percentage below carries over to any price.) The four boxes, in the order Binance names them:

  1. [Limit] under Take Profit — $62,400. A plain limit sell resting on the book. It is your target.
  2. [Stop] — $58,800. The trigger price of the stop-limit. Nothing happens until the last traded price reaches it.
  3. [Limit] under Stop Loss — $58,700. The worst price the triggered stop is allowed to sell at. The $100 gap below the trigger gives the order room to fill on a fast move; it costs you 0.04 × $100 = $4 in the case where it is used.
  4. [Amount] — 0.04 BTC. One amount for both legs, which is the whole point.

Binance enforces one ordering rule for a sell OCO, stated in its API documentation: take-profit limit price > last traded price > stop price. Put the target below the current price, or the stop above it, and the order is refused. That is a feature, not an obstacle — an OCO is a bracket around where the price is now.

When one leg triggers, Binance cancels the other. The help page puts it in one line: “If one is triggered, the other is canceled.” So you cannot be filled twice, and you cannot end up short by accident. The developer documentation adds a detail that matters if you trade several coins: an OCO counts as two open orders against the exchange’s order limits, not one.

When this advice is wrong: the stop leg is a stop-limit, not a stop-market. If bitcoin gaps from $58,900 to $58,500 between two trades, the trigger fires, but no buyer exists at $58,700 or better, and your sell sits unfilled while the price keeps going. The $100 buffer makes that rarer on bitcoin. On a thin altcoin, where the book can be empty for a full percent, widen the buffer — and accept that a wider buffer is a bigger loss on the days it is used. Our stop-limit order page works through that trade-off.

How do you attach both exits while you are still buying?

Choose [Limit], enter the buy price and amount, then tick [TP/SL] and fill in a take-profit and a stop-loss. Binance calls the result an OTOCO — one triggers a one-cancels-the-other. The buy is the “one”; once it fills, it switches on an OCO built from your two exits.

Binance’s help page lists two shapes: OTO, a limit order plus either a take-profit or a stop-loss, and OTOCO, a limit order plus both. It also says plainly that only limit orders support the [TP/SL] function on spot, so a market buy cannot carry its exits with it. If you want both in place from the start, you are placing a limit buy.

This is the most convenient of the three, and the one with the sharpest edge, which is the next section.

What happens if the buy only partly fills?

Nothing protective happens at all. Binance’s page says it in one sentence: “If the limit order is only partially filled, the TP/SL will not be triggered.” The exits wait for a full fill. Until then, whatever you did buy has neither a target nor a stop.

A partly filled buy leaves both exits switched offSpot limit buy with TP/SL: the protection waits for a full fill1Limit buy 0.04 BTC at $60,000, TP/SL box tickedTake-profit $62,400, stop-loss $58,800. Looks fully protected.2Only 0.025 BTC fills, then price walks away$1,500 of bitcoin bought, 0.015 BTC still waiting on the book.3The TP/SL never activatesBinance: if the limit order is only partially filled, the TP/SL will not be triggered.4The 0.025 BTC is locked as wellIt cannot be withdrawn or used in a new order while the primary order is open.5BTC slides to $55,000: you lose $125, not $500.025 x $5,000 = $125, or 2.5% of a $5,000 account against a 1% plan.Fix: cancel the unfilled rest, confirm the coins show as free, then place a standalone OCO.
The partial-fill trap in five steps. The bracket in step 1 is real, but it only switches on after a full fill; the 0.025 BTC bought in step 2 has no exit, cannot be moved, and loses $125 on a fall to $55,000.

Run our trade through it. You place a limit buy for 0.04 BTC at $60,000 with both exits ticked. The price touches $60,000, sellers hand you 0.025 BTC, then the price turns up and never comes back for the rest. You own $1,500 of bitcoin and the screen still shows a neat bracket. It is not live. If bitcoin then falls to $55,000, the loss on what you hold is 0.025 × $5,000 = $125 — two and a half times the $50 your plan allowed, on a smaller position than you meant to have.

The same Binance page adds the second half of the trap: on a buy, the coins you received from a partial fill cannot be withdrawn or used in new orders while the primary order is open. So you cannot simply place your own stop on the 0.025 BTC while the original order is still waiting. The repair is in a fixed order: cancel the unfilled remainder, open your spot balance and confirm the bitcoin now shows as available, then place a standalone OCO for the amount you actually hold — 0.025 BTC, not 0.04.

When this advice is wrong: on a deep pair like BTC/USDT, a small limit buy at or just inside the best price usually fills in one go, and the trap never springs. It bites on altcoins, on large orders relative to the book, and on limit prices set below the market in the hope of a dip — the exact situation where a partial fill followed by a move away is most likely.

Where should the two prices go once fees are counted?

Put the stop where the chart proves you wrong, size the position from that, and then check the target against the win rate it demands after fees. The fee step is the one people skip, and on spot it is bigger than it looks.

On Binance spot a regular account pays 0.10% as maker and 0.10% as taker, per the public fee table we read on 11 Sep 2026. So the take-profit resting as a limit order saves nothing over a market exit — at this tier both sides cost the same. Every round trip pays twice.

TargetTake-profitGross gainNet gain after feesBreak-even win rate, no feesBreak-even win rate, with fees
1R$61,200$48.00$43.1550.0%56.8%
2R$62,400$96.00$91.1033.3%38.4%
3R$63,600$144.00$139.0625.0%29.0%

Our own calculation. 0.04 BTC bought at $60,000; stop trigger $58,800, stop limit $58,700; Binance spot regular-tier fee of 0.10% on entry and on exit, read 11 Sep 2026. Loss if the stop fills at its limit: $52.00 of price plus $2.40 entry fee plus $2.35 exit fee = $56.75. “R” is the $1,200 distance from entry to the stop trigger. Break-even win rate = loss ÷ (loss + net gain).

Read the right-hand column. With a target as far away as the stop — the 1R row — you need to be right 56.8% of the time just to stand still. The fee-free textbook answer of 50% is wrong by almost seven points, and seven points is the difference between a strategy that works and one that slowly drains the account.

Win rate needed just to break even, after feesSame stop on every row: a $56.75 loss including both feesWIN RATE NEEDED TO BREAK EVEN · 0.04 BTC, entry $60,000, stop $58,800 / $58,7001R target56.8%TP $61,200 nets $43.15 after fees. Fee-free answer: 50.0%2R target38.4%TP $62,400 nets $91.10 after fees. Fee-free answer: 33.3%3R target29.0%TP $63,600 nets $139.06 after fees. Fee-free answer: 25.0%Fees add 4 to 7 points to every row. A 1R target needs you right 57% of the time.
Same stop, three targets. Each bar is the share of trades you must win just to break even once Binance’s 0.10% fee is paid on entry and exit. The fee-free answer under each bar is what most guides quote.

Two cheaper levers exist. Paying fees in BNB cuts the spot rate by 25% at the regular tier, which brings the 1R break-even down to about 55.6% on the same trade. And a target further away dilutes the fixed fee: at 3R the fees add four points rather than seven. Neither lever helps if the target sits somewhere the price is unlikely to reach — the chart decides where the target can go, and the table only tells you whether that place is worth the trade.

Fixing both prices at the start has one more cost. A common way of managing a winner is to take part of it once the move shows signs of tiring and move the stop on the rest up to the entry price. An OCO cannot do that by itself: it covers the amount you entered when you placed it. Managing a trade in stages means cancelling the bracket and placing a new one each time — deliberately, not as an afterthought. Our take-profit order page compares a single fixed target with partial exits and trailing stops.

Is it different on Binance Futures?

Yes, in three ways that matter. The box is the same — tick [TP/SL] on the order form — but the rules under it are not.

Binance also warns that if the exit is set too close to the entry, “there is a high likelihood that the secondary order will be canceled when the primary order is executed.” Leave room. If you are new to perpetuals, read leverage and margin and how to calculate your liquidation price before using any of this with borrowed money; the stop has to sit nearer than liquidation or it never gets the chance to work.

What should you check after placing the pair?

Four things, read from the order list rather than from memory or the chart:

  1. Both legs exist. An OCO appears in [Open Orders]; a limit buy with exits shows the exits behind a [View] link under TP/SL on the primary order. A line drawn on the chart is not proof that an order exists.
  2. The amount matches what you hold. After a partial fill, a manual sale or a second buy, the bracket covers the old number.
  3. The stop has a buffer. The limit under the stop should sit below the trigger on a sell, with room for a fast candle.
  4. Say it as one sentence. “If bitcoin trades at $58,800, sell 0.04 BTC at $58,700 or better; if it reaches $62,400, sell at $62,400; either one cancels the other.” If the screen does not say that, fix the screen.

Common mistakes

Trusting a bracket on a buy that has not finished filling. On spot, the exits attached to a limit buy wait for a full fill. Check the fill, not the bracket.

Setting the stop-limit equal to the trigger. A zero buffer means the stop can trigger and then sit unfilled on any fast candle. Leave a gap and price it into the plan.

Choosing the target first and the stop second. The stop comes from the chart and decides the size. The target then has to pass the after-fees break-even test, not the other way round.

Forgetting to rebuild the bracket after changing the position. A partial sale, a second buy or a manual close leaves the OCO covering the wrong amount.

Assuming spot and futures behave alike. Partial fills, trigger references and order caps all differ. A rule learned on one screen can be the wrong rule on the other.

Counting the take-profit as a guaranteed fee saving. At Binance’s regular spot tier, maker and taker are both 0.10%. The limit target gives you a price, not a discount.

Frequently asked questions

Can both the stop-loss and the take-profit fill on the same OCO?

No. An OCO is built so that when one leg triggers, Binance cancels the other. The worst case is the opposite problem: the stop-limit triggers in a fast move and does not fill, while the take-profit has already been cancelled — which is why the stop needs a price buffer.

Why did my take-profit and stop-loss not activate after my limit buy?

Most likely the buy only partly filled. Binance states that if the limit order is only partially filled, the TP/SL will not be triggered, and the coins from the partial fill cannot be used in new orders while the primary order is open. Cancel the remainder, confirm the coins are available, then place a standalone OCO for the amount you hold.

Can I attach a stop-loss and take-profit to a market buy on Binance spot?

Not through the TP/SL box. Binance says only limit orders support the TP/SL function on spot. After a market buy, place an OCO sell for the amount you received.

Where should I put the take-profit relative to the stop-loss?

Put the stop where the trade idea is proven wrong, then test the target against the win rate it requires after fees. In our worked trade on Binance spot, a target the same distance as the stop needs a 56.8% win rate to break even once both fees are counted, against 38.4% for a target twice as far.

Risk reminder: this is education, not advice. Linked exits reduce the need to watch the screen; they do not remove risk. A stop-limit can fail to fill, and most retail traders lose money.
Written by the TradingPrimer Team · Published 2026-10-02 · Sources: Binance Support, What Is an OCO (One-Cancels-the-Other) Order and How to Use It? (updated 2026-01-06), Binance OTO and OTOCO Order (updated 2026-02-04), What Are Limit TP/SL Orders (Strategy Order), all read 2 Oct 2026; Summary of Failed Orders in Binance Futures (updated 2026-04-07) for the conditional-order cap; Binance spot API documentation, trading endpoints, read 2 Oct 2026; Binance spot fee schedule, read 11 Sep 2026. Fee and break-even figures are our own calculations. We did not log in to an exchange account for this guide; labels are quoted from Binance’s public help pages, and interfaces change — verify in your own screen. · Disclosure

← All how-to guides