OKX Take-Profit Limit Order Not Triggering? Troubleshooting Order Conditions

 / 
OKX
 / 
3

If your take-profit limit order price was reached but didn't fill, the problem is likely that you confused the "trigger price" with the "order price." When the trigger price is reached, the system does place your order—but the placed limit order may not fill immediately.

OKX stop-profit and stop-loss orders have three prices: trigger price, order price, and fill price. First, figure out which type you set, then troubleshoot as follows.

Step 1: Confirm whether the trigger condition was actually met

Trigger price has three types: last price, mark price, and index price. Many people think "the market price was reached" means the trigger price was reached. But if you chose mark price or index price as the trigger, and the last price on the chart reached it but the mark price didn't, the order won't be triggered at all.

What to do: Go to the chart page, switch the price type to the one you set as your trigger price, and check whether it actually touched your trigger price. OKX supports switching between the three prices on the market page to compare their trends.

Completion standard: You are certain that the trigger price type you selected actually reached the trigger price you set, not just "another price reached."

Common reason for failure: When setting the trigger price, you didn't notice which price type was selected by default. If you used "mark price" as the trigger in futures trading, but only looked at the last price and thought it reached, the order won't execute. It's recommended to check the current trigger price reference source in the advanced order settings.

Step 2: Confirm whether the order filled after being triggered

Reaching the trigger price does not mean the order price will fill. Once the stop-profit or stop-loss is triggered, the system places a limit order at your set order price—if the order price is higher than the best bid on the order book (for a sell order), the order will sit on the book waiting for a taker and may not fill.

What to do:

  1. Go to the "Current Orders" page and see whether the take-profit order, after being triggered, the limit order is still sitting there.
  2. Check the relative position of the order price and the trigger price. If the take-profit sell order's limit price is set higher than the trigger price, or almost the same, it may not fill with just a slight market movement.

OKX's advice is straightforward: For a limit sell order, the order price should be set a certain distance below the trigger price to increase the fill probability.

Completion standard: You confirm the order price relative to the trigger price is "fillable," not placed far away waiting for a price that may never come.

Risk reminder: If the take-profit order uses a limit order, in a highly volatile market the price could "gap" past your order price, so the limit order never fills, leaving your position exposed and possibly liquidated. Using a market order may have higher slippage but at least ensures a fill.

Step 3: Check if the order was blocked by other rules

Even if the trigger price was reached and the order price is reasonable, the order could still be blocked by the following:

  • Price limit rules: OKX has dynamic upper and lower price limits for each trading pair. If the order price exceeds the limit range, the system will reject it.
  • Insufficient margin: Closing-type stop-profit and stop-loss orders require available margin. If your account margin has dropped below the liquidation threshold, the take-profit order may not execute normally.
  • Quantity limit: If the order quantity exceeds the per-order maximum limit, the order cannot take effect.

What to do: Check the failure reason in "Current Orders" or "Order History." If the order was placed but not filled, that's a Step 2 issue; if it wasn't placed at all, there will be a specific error message here.

Completion standard: You confirm the order was accepted by the system and placed, not rejected.

How to verify the operation is complete

  1. Go to "Current Orders" to see if the take-profit order is still in "placed" status—if so, it means the trigger succeeded, but the limit order hasn't found a counterparty yet.
  2. If you're unsure whether the take-profit order was ever triggered, go to "Order History" and filter by "Stop Profit/Stop Loss" type, and check if the order status is "Triggered - Pending," "Filled," or "Canceled."

Next action to take: If the order remains in "Current Orders" without filling and the market is moving away from your order price, decisively cancel the limit order manually and close the position with a market order. Don't wait for the system to fill the order. OKX limit stop orders do not automatically convert to market orders if they don't fill; you need to intervene manually.