takeprofit / tp-l - Take Profit Orders
Place a standalone take profit order to close an existing position at a profit target.
What is takeprofit?
takeprofit places a standalone take profit order to close (or reduce) an existing position when price reaches a profit target. This locks in gains automatically.
The take profit order triggers when price moves IN FAVOR of your position:
Long position: Take profit triggers when price rises above your level
Short position: Take profit triggers when price falls below your level
takeprofit vs tp-l (Limit Variant)
takeprofitMarket OrderPlaces a take profit MARKET order. When triggered, sells at best available price.
✅ Best for:
- • Fast-moving markets (breakouts, high volatility)
- • Prioritizing execution over a fixed limit price
- • When you need to close position immediately
⚠️ Drawback:
May experience slippage (slightly worse price than target)
tp-l(or tp-limit, takeprofit-limit)
Limit OrderPlaces a limit exit at the specified price or better. The aliases tp-l, tp-limit and takeprofit-limit are equivalent. On Binance and Bybit this is a regular limit order; on HTX V5, WEEX Futures and KuCoin Futures it is conditional, with the trigger and limit set to the calculated price. Trigger sources depend on the exchange; HTX and WEEX support last/mark, not index. Activation does not guarantee a fill.
✅ Best for:
- • Range-bound markets (consolidation phases)
- • Price precision (getting exact target or better)
- • Avoiding slippage on large positions
⚠️ Drawback:
Might not fill if price spikes through your level (missed profit opportunity)
Quick Decision Guide:
| Scenario | Use This | Reason |
|---|---|---|
| Breakout trade | takeprofit | Speed matters |
| Scalping | tp-l | Maximize profit per tick |
| Swing trade | takeprofit | Prioritize execution |
| Large position | tp-l | Avoid slippage |
Syntax is identical:
// Market TP
takeprofit off 5%
// Limit TP
tp-l off 5%When to Use takeprofit vs sl-or-tp
Use takeprofit when you want ONLY take profit without stop loss.
Use sl-or-tp when you want BOTH stop loss AND take profit with automatic OCO monitoring.
Use inline tp property (e.g., market long 0.01 tp off 5%) for immediate take profit at entry time.
Toobit Limitation
On Toobit, native take profit orders are "invisible" to the API:
Native TP orders do NOT appear in open orders list
rem tpwill NOT work (returns 0 orders cancelled)Cannot query or verify TP status programmatically
Workaround: Close position entirely (auto-cancels attached TP), or cancel via Toobit web UI.
Syntax
takeprofit - Market Order:
takeprofit off <value>
takeprofit at <price>
takeprofit @ <price>
takeprofit long|short <amount> off <value> #tag
takeprofit long|short <amount> @ <price> trigger mark|last|indextp-l / tp-limit / takeprofit-limit - Limit Order (same syntax):
tp-l off <value>
tp-l at <price>
tp-l @ <price>
tp-l long|short <amount> off <value> #tag
tp-l long|short <amount> @ <price> trigger mark|last|indexNote: Side and amount are optional. If omitted, the system infers direction from your current position and uses 100% of position size. takeprofit and tp-l (aliases: tp-limit, takeprofit-limit) use identical syntax.
Price Prefix is REQUIRED
takeprofit 5% is INVALID - will be rejected!takeprofit off 5% is VALID - uses current price offset
Argument Order
When specifying takeprofit parameters, the order is important:
| Position | Argument | Required | Description |
|---|---|---|---|
| 1 | amount | Optional | Quantity to close (default: 100%p). E.g., 50%p, 0.01 |
| 2 | price | Required | Price WITH PREFIX: off 5%, at 52000, e5%, rr3 |
| 3 | trigger | Optional | Trigger type (default: mark). Values: mark, last, index |
Examples:
// price only (100%p default)
takeprofit off 5%
// amount + price
takeprofit 50%p off 5%
// amount + price + trigger
takeprofit 50%p off 5% trigger last
// side + amount + absolute price
takeprofit short 0.01 @ 52000
// 3:1 risk/reward (TP only)
takeprofit rr3Parameters
long|shortOptionalType: keyword | Values: long (or buy), short (or sell)
Direction to close. Usually inferred from your position automatically. Use short to close long positions,long to close short positions.
amountOptionalType: number or string | Default: 100%p (entire position)
How much of your position to close when take profit triggers:
| Format | Example | Meaning |
|---|---|---|
100%p | 100%p | 100% of position (close all) |
50%p | 50%p | 50% of position (partial close) |
number | 0.01 | Absolute amount (0.01 BTC) |
off value / at price / @ priceRequiredType: number or string
Where to trigger the take profit:
off 5%- 5% profit from current priceoff e5%- 5% profit from entry price (recommended for TP!)at 52000or@ 52000- Absolute price of $52,000off 500- $500 profit from current pricerr3- Automatic 3:1 Risk/Reward (TP at 3× SL distance)rr2.5- Automatic 2.5:1 Risk/Reward (TP at 2.5× SL distance)
For take profits, off e% (entry-relative) is recommended because it calculates from YOUR entry price, giving you predictable profit targets.
#tagOptionalType: tag identifier
Label this order for later reference. Use #tag syntax. Useful for canceling specific take profit orders with rem #tag.
triggerOptionalType: keyword | Values: mark, last, index | Default: mark
Which price to use for triggering the take profit:
| Trigger | Description | Best For |
|---|---|---|
mark | Mark price (default) | Most reliable, manipulation-resistant |
last | Last traded price | Fastest response, captures exact prices |
index | Index price | Based on spot exchanges, very stable |
Real-World Examples
1. Basic Take Profit (5% from Entry)
Enter a long position and add take profit 5% above your entry price.
BTCUSDT on My_API_Key
// Enter position
market long 0.01
// Add take profit 5% above entry
takeprofit off e5%The e5% calculates 5% profit from your entry price, not current price. This ensures predictable profit targets.
2. Absolute Price Take Profit
Set take profit at a specific price level (e.g., key resistance).
ETHUSDT on My_API_Key
market long 0.5
// Take profit at $3,500 resistance
takeprofit @ 3500Triggers when ETH reaches $3,500, regardless of your entry price.
3. Tiered Take Profits (Scaled Exit)
Take profits in stages: 50% at +3%, remaining 50% at +6%.
BTCUSDT on My_API_Key
market long 0.02
// First TP: close 50% at +3%
takeprofit short 50%p off e3% #tp1
// Second TP: close remaining at +6%
takeprofit short 100%p off e6% #tp2Lock in partial profits early while letting the rest run. Tags help identify each TP level.
4. TP Limit with OCO (tp-l alias)
Combine limit take profit with stoploss and OCO monitoring.
ADAUSDT on My_API_Key
market long 5000
tp-l @ 0.50
stoploss @ 0.3
oco sessionUses tp-l for precise limit exit at $0.50. OCO ensures SL cancels when TP fills.
5. TP Limit with Offset (tp-limit alias)
Use the tp-limit alias with percentage offset.
KASUSDT on My_API_Key
market long 333000
tp-limit off 2%
stoploss off 1%
smart-oco selltp-limit is equivalent to tp-l. Here used with smart-oco for automatic management.
6. TP Limit with Risk/Reward (takeprofit-limit alias)
Use takeprofit-limit with RR notation for automatic 3:1 ratio.
ETHUSDT on My_API_Key
market short 10
stoploss off 1%
takeprofit-limit rr 3
oco buytakeprofit-limit rr 3 places TP at 3× the SL distance (3% profit target for 1% risk).
7. Take Profit Only (No Stop Loss)
When you have manual stop loss management but want automated profit taking.
ETHUSDT on My_API_Key
market long 1
// Only take profit, managing SL manually
takeprofit off e4%Automatically captures profits at +4% while you manage downside risk manually.
8. Fast Trigger with Last Price
Use last price to capture exact profit levels in volatile markets.
BTCUSDT on My_API_Key
market long 0.01
// Fast TP trigger with last price
takeprofit @ 52000 trigger lastTriggers on last traded price. Ensures you catch exact levels during fast moves, but can be manipulated in thin markets.
Best Practices
Prefer entry-relative offsets - Use
off e%instead ofoff %for predictable profitsChoose execution or price priority -
takeprofituses market execution after triggering, subject to liquidity and exchange rules;tp-lcan remain unfilledConsider tiered exits - Lock in partial profits while letting winners run
Pair with stop losses - Use
sl-or-tpor addstoplossseparately for complete protection
Exchange-Specific Behavior
Standalone take profit implementation varies by exchange. The futures notes below do not imply support on each exchange’s spot markets:
| Exchange | Implementation | Notes |
|---|---|---|
| Bitget | Native TP | Position-level TP/SL, partial supported |
| ByBit | Native TP | Via set_trading_stop endpoint |
| Bitunix | Native TP | Works in reduce-only mode (unlike SL) |
| Binance | Market trigger | Creates TAKE_PROFIT_MARKET order |
| Toobit | Invisible | Works but not queryable via API |
| WEEX Futures | Native TP | Last/mark trigger. The tp-l variant uses a conditional limit; WEEX Spot does not support tp-l. |
| HTX | Trigger order | HTX V5 TP algo; last or mark trigger, not index |
| KuCoin | Conditional order | Futures stop-order path; tp-l supplies both trigger and limit price |
For best compatibility, use inline TP with market/limit orders (e.g., market long 0.01 tp off 5%) instead of standalone takeprofit.
Related Commands
stoploss- Standalone stop loss order (exit at loss)
sl-or-tp- Combined SL+TP with automatic OCO monitoring
market- Use inline tp property for immediate take profit (e.g., market long 0.01 tp off 5%)
rem- Cancel take profit orders with rem tp or rem takeprofit