Preconditions
- You already hold any perpetual contract position, and have set a take-profit order.
- You can view the "Current Orders" and "Order History" records on the trading interface.
If your take-profit order is triggered but not filled, it means your limit order price is posted to the order book, but no counterparty is willing to trade at that price.

A leading global cryptocurrency platform,suitable for both beginners and experienced traders.
New user benefit: 20% off trading fees upon registration!!
A take-profit order works in two steps: first, the market price hits the "trigger price" you set, then the system places your "order price" on the order book. A placed order does not get filled immediately, it has to queue for matching.
Step 1: Confirm if the trigger price was actually hit
What to do: Verify the trigger price type, confirm the system has correctly registered the price touch.
How to do it: When you set a take-profit order, you can choose the trigger price type as "Latest Price", "Mark Price" or "Index Price". Mark Price is mainly used for liquidation and profit/loss calculation.
Scenario A: Trigger type is "Mark Price" → only the Mark Price is checked to see if it meets the threshold. If the Latest Price spikes up but the Mark Price does not reach your set value, the order will not be triggered.
Scenario B: Trigger type is "Latest Price" → only the latest transaction price is referenced. Note that the price may spike (wick) and touch your trigger level briefly then drop immediately; while the system will trigger the limit order placement, the posted order may no longer match the fast-moving market.
Completion Check: Enable both "Mark Price" and "Latest Price" lines on your K-line chart, confirm your set trigger price was effectively touched by the K-line body (not just the wick/shadow).
Step 2: Check the price gap between your order price and trigger price
What to do: Check if your limit order price is set within a reasonable range.
How to do it: Open the details of your take-profit order, locate the "Order Price" field.
Scenario A: Order price = Trigger price (for example, long position take-profit, both trigger and order price are 60000) → high chance of being unfilled. Right after the price hits 60000 to trigger the order, the system places a 60000 sell order. If the market trades sideways around 60000 or drops quickly, no trader will buy at 60000, leaving your order queued until the price rises back above 60000 again to get a fill chance.
Scenario B: Order price is lower than trigger price (for example, trigger price 60000, order price 59900) → much higher fill probability. After triggering, the system places a 59900 sell order. When the price drops back to near 59900, your order becomes the most price-competitive sell order on the book, and gets matched much faster.
Completion Check: Confirm you have reserved at least 0.1%-0.2% of price gap between the order price and trigger price.
High Risk Warning: Setting the limit order price far too low (e.g. trigger price 60000, order price 58000) will get a very high fill rate, but your actual fill price will deviate far from your expectation, equivalent to closing position with a market order, which may wipe out a large portion of your floating profit. You need to balance "fill probability" and "expected fill price" when setting the gap, there is no perfect solution that guarantees both 100% fill and your ideal price.
Common Causes of Failed Fills
The core reason for a triggered but unfilled take-profit order is mistaking "order trigger" for "order fill". Triggering only posts your limit order to the order book, actual fill depends on whether there is available counterparty liquidity. Many traders set the order price exactly equal to the trigger price; in a fast rising market, once the price pulls back, this order becomes a sell order stuck at the highest point, with no subsequent buyers to match it.
Post-Operation Verification
After your take-profit order is triggered, go to the "Current Orders" or "Order History" page to check the order status. If it shows "Triggered" but "Unfilled", it means your limit order is still queuing on the book. You can manually cancel this limit order, then place a new order with a market order or a lowered limit price.

A leading global cryptocurrency platform,suitable for both beginners and experienced traders.
New user benefit: 20% off trading fees upon registration!!
Next Recommended Actions
After adjusting your order price, check the "Current Orders" page to confirm your new order is successfully placed. If the market price has moved far away from your target level, consider closing your position directly with a market order: accept slippage to guarantee a fill, instead of waiting indefinitely for a price level that may never be reached. Verification method: Check the "Average Fill Price" field in your order history, confirm your final transaction price is within your acceptable range.


