Affiliate disclosure: This article contains an OKX partner link. If you register or trade through it, the site operator may receive compensation. User benefits vary by account, region, VIP tier and campaign; check the sign-up page and My Rewards for the terms actually applied.
OKX Futures orders should be selected according to your purpose. If fast execution is the priority, use Market; if a price ceiling or floor is the priority, use Limit; to submit an order at a specific price, use Trigger; for position closing conditions, use TP/SL; to remain as a Maker only, use Post Only; and to reduce only an existing position, use Reduce Only. No order can guarantee the desired price, execution, or loss limit 100%, so you must distinguish between the trigger price and the actual order price.
| Orders and Options | Key Features | Execution Guaranteed? | Typical Failures and Cautions |
|---|---|---|---|
| Market | Attempts to execute immediately, starting from the available prices in the current order book | No price guarantee | Slippage and execution across multiple price levels |
| Limit | Executes only at the specified price or a more favorable price | No execution guarantee | Even if the price is reached, the order may remain unfilled because of the queue |
| Trigger | When the Last, Mark, or Index price reaches the condition, submits a Market or Limit order | Neither the trigger nor execution is guaranteed | Incorrect reference price, price limits, or insufficient margin |
| TP/SL | Conditional order for taking profit or limiting losses | No loss-limit guarantee | Gaps, sharp volatility, or an unfilled Limit order |
| Post Only | Allows only orders that are not executed immediately and remain in the order book as a Maker | No | Canceled if it would be matched immediately at the current price |
| Reduce Only | Executes only in the direction of reducing the quantity of an existing position | No | Rejected, adjusted, or canceled depending on the direction, quantity, and position status |
| IOC | Executes only the quantity immediately available and cancels the remainder | Partial execution possible | The desired full quantity may not be filled |
| FOK | Cancels the entire order if the full quantity cannot be executed immediately | All or nothing | If liquidity is insufficient, nothing is executed |
Market vs. Limit: The Difference Between Speed and Price Control
Market Orders
A market order attempts to execute quickly, starting from the best available prices in the current order book. It does not promise “full execution at the currently displayed price.” If the order quantity exceeds the quoted quantity or the market moves rapidly, the average execution price may become unfavorable as multiple price levels are consumed. This difference is called slippage.
Even when you need to reduce a position urgently, a market order is not guaranteed to execute in full. Depending on price limits, liquidity, position limits, trading interruptions, or system conditions, the order may be rejected or only partially processed. Check the expected execution price and order book depth before placing the order.
Limit Orders
A limit buy executes only at or below the entered price, while a limit sell executes only at or above the entered price. Price control is possible, but execution is not guaranteed. Even if the market price briefly reaches the order price, a large quantity of orders ahead of yours may prevent your order from being reached, and only part of the quantity may be executed.
A limit order does not always incur a Maker fee. If it is immediately matched with existing quotes, it may become Taker. If you want it to remain a Maker only, use the Post Only condition, but you must accept the possibility that the order will be canceled in return.
When a Limit order can fill immediately: a buy limit at or above the current best ask, or a sell limit at or below the best bid, can match existing orders straight away. For example, if the best ask is 99 USDT, a buy limit of 100 USDT does not wait for the price to rise to 100 USDT. This is a hypothetical price-condition example, not an execution guarantee. Distinguish a directly submitted Limit order from a Trigger order if you intend to enter only after the price rises to a specified level.
Trigger and TP/SL: The Trigger Price Is Not the Execution Price
A Trigger order submits a preconfigured Market or Limit order to the market when the selected reference price reaches the set value. In OKX Futures TP/SL, you can select the trigger reference from Last Price, Mark Price, and Index Price.
- Last Price: OKX The most recently executed price in the order book.
- Mark Price: The reference price used to calculate unrealized profit and loss and liquidation risk.
- Index Price: An index price reflecting prices from several major spot markets.
For example, if the Last Price of a BTC perpetual futures contract moves rapidly and reaches the SL trigger, the closing order is submitted at that point. A market close attempts fast execution but may incur slippage, while a limit close controls the price but may remain unfilled. Therefore, it is incorrect to interpret “I set an SL, so the maximum loss is fixed exactly.”
| Situation | What Happens | What to Check |
|---|---|---|
| Trigger price not reached | The order is not submitted to the market | The selected reference among Last, Mark, and Index |
| Market submitted after trigger | Attempts execution starting from available prices | Liquidity, slippage, and price limits |
| Limit submitted after trigger | Enters the order book subject to the specified price condition | Whether unfilled orders and the position remain open |
| Margin and position limits | The order may still fail after the trigger | Available margin, quantity, and trading status |
TP/SL Setup Sequence
- Enter the order quantity on the futures trading screen and open TP/SL.
- Enter the trigger prices for Take Profit and Stop Loss separately.
- Confirm which price among Last, Mark, and Index is used to determine the trigger.
- Confirm whether the order after the trigger is a Market or Limit order, and if it is a Limit order, confirm the order price.
- Double-check the Long or Short direction, One-way or Hedge mode, and closing quantity.
- After placing the order, check its actual registration status in Open orders and the TP/SL list.
Registering TP/SL is not the same as reserving a position or margin. The official futures TP/SL guide states that the position and margin are not frozen by that order before it is successfully triggered. Other orders may change the available margin or position, so a registered order can still fail to trigger. Check registration, triggering, and actual fills separately; review unfilled limit orders in Open orders. For a closing order, also recheck direction, closing quantity, and Reduce Only settings.
Post Only: Canceled If It Cannot Remain a Maker
Post Only is an advanced limit-order condition that accepts an order only when it is not immediately matched with existing quotes and is added to the order book. If the price would take immediate liquidity, the order is canceled. Therefore, if “I enabled Post Only but the order disappeared,” it may have been canceled in accordance with the condition rather than due to an error.
When Post Only is accepted, it is designed to remain a Maker, which may help manage fees, but this is separate from whether it executes at the desired time. If the price is placed too far from the market, it will not execute, and if the market moves sharply, you may miss the opportunity. Check the actual Maker/Taker rate in your account’s Trading fee tier.
Reduce Only: A Closing Condition That Prevents Accidental Position Reversals
Reduce Only restricts an order to operate only in the direction of reducing the size of an existing position. In One-way mode, it may be selected by the user, while in Hedge mode, it may be applied by default to closing orders. Its behavior may differ depending on the account mode and order screen, so do not judge it solely by the switch name.
For example, if you place a 1 BTC sell closing order for a 1 BTC Long position with Reduce Only, it is intended to reduce the position. If the position has already been closed by another order before this order executes, the remaining order may be rejected or canceled so that it does not open a new Short position. Conversely, an order in the opposite direction without Reduce Only may create a new opposite position if a quantity exceeding the existing position is executed.
If the total of multiple Reduce Only orders exceeds the current position, the system may adjust existing order quantities or cancel some orders according to price-time priority and account mode. In the API, excess quantities may be rejected depending on the mode, so automated trading must check the response code and re-query the final Open orders without fail.
IOC vs. FOK: Decide Whether to Allow Partial Execution
IOC (Immediate or Cancel) fills only the quantity that can be executed immediately after the order is placed and cancels the remainder. FOK (Fill or Kill) executes only when the entire quantity can be filled immediately; otherwise, it cancels the entire order. The selection criterion is whether it is acceptable for a partial position to remain after a large order.
| Example: 100-contract order | Immediately available quantity: 60 | Result |
|---|---|---|
| IOC | 60 contracts | 60 executed, 40 may be canceled |
| FOK | 60 contracts | Entire order canceled |
| General Limit | 60 contracts | After 60 are filled, 40 may remain in the order book |
Reasons an order may fail or be filled differently than expected
| Symptom | Possible cause | Check |
|---|---|---|
| Post Only is canceled immediately | A price that would immediately match existing quotes | Best bid·ask and the specified price |
| TP/SL touched the price but did not close | Different trigger criteria, unfilled Limit order, price·position restrictions | Trigger type·order type·Open orders |
| Reduce Only rejected | No position, same direction, quantity·conflict with existing closing order | Position direction·remaining quantity·account mode |
| Market average price is worse than expected | Insufficient order book depth and rapid volatility | Quantity by price in the execution history |
| Trigger order failed | Insufficient margin, price limits, non-trading status, position restrictions | Error message and available margin |
| Limit order partially filled | Price·time priority and insufficient remaining quantity | Filled·Remaining quantity |
Checklist before placing a live order
- Have you confirmed whether the account is in One-way or Hedge mode?
- Are Long·Short and Open·Close directions consistent with your intention?
- Have you confirmed whether the quantity unit is coins, contracts, or USDT?
- Which does the Trigger use: Last·Mark·Index?
- After the TP/SL trigger, have you confirmed whether it is Market or Limit?
- Is this a closing order that needs Reduce Only to prevent reversing the position?
- For Post Only cancellations, have you decided how to handle replacement orders?
- Besides fees, have you calculated OKX funding fee guide and slippage?
- For an order type you are using for the first time, have you verified its behavior with Demo Trading or a small quantity you can afford?
Learn the signup·margin·liquidation flow for futures trading first in Complete OKX exchange guide, and check OKX availability and regional restrictions guide for feature and regional restrictions applicable to residents of Korea. The actual application rate of the invitation code OKDCC must be verified based on the OKX referral code verification guide, the signup screen, and My Rewards after signup.
Frequently Asked Questions
Does a market order always execute at the displayed price?
No. It executes starting at the prices available in the current order book, so depending on the quantity and volatility, it may execute across multiple price levels and incur slippage.
Does a Limit order always incur the Maker fee?
No. If it immediately matches existing quotes, it may become Taker. You can use Post Only to remain Maker-only, but orders that would match immediately will be canceled.
Does setting a Stop Loss fix the loss amount?
No. After the trigger, a market order may incur slippage, while a Limit order may remain unfilled; the order may also fail due to price limits, insufficient margin, or trading status.
When should Reduce Only be used?
Use it to reduce or close an existing futures position while preventing the order from creating a new position in the opposite direction. The selection method differs depending on One-way or Hedge mode.
What is the difference between IOC and FOK?
IOC can partially fill the quantity immediately available and cancel the remainder, while FOK cancels the entire order if the full quantity cannot be filled immediately.
Partial review: 2026-10-30. This update covers only immediately marketable limit prices and position/margin handling before a futures TP/SL trigger, using official sources. It does not change the original full-article review date. Check regional, product, and account availability on the actual trading screen and with official support. OKX Order types · OKX Futures TP/SL
Official sources and review date
- OKX Official Guide to Order Types
- OKX Futures TP/SL Settings and Failure Conditions
- OKX Basic Orders and Reduce Only
- OKX API Order Type·reduceOnly Specifications
- OKX Futures Fee Calculation
Final review date: 2026-08-18. Menu names, order rules, and available products may vary depending on the region, account mode, app version, and official policies. This article is for educational purposes and is not investment advice. Leveraged futures carry the risk of losing all or more than the full margin amount and of liquidation, so check the actual account screen and risk disclosures before placing an order.