Why wasn’t my market conditional order filled after it was triggered?

Why was it triggered but not filled?

When a conditional order is triggered, it only means your condition has been reached. After that, the system still needs to run several risk and market checks before actually sending your market order. Because of these checks, a triggered conditional order is not guaranteed to be filled. The following reasons are all based on the situation at the exact moment your order is triggered. Below are the most common reasons:

1. Price deviation protection

If, at the time of trigger, the last traded price is very far away from the stock’s average traded price for the day, the system may treat this as an

abnormal price. 

This can happen during:

  •  Sudden sharp moves (flash crash / spike)
  •  Very low liquidity
  •  Possible error trades

To protect you from being filled at an extreme or unreasonable price, the system may block your market order and not send it to the market.

2. Incomplete market data

Market orders need reliable, real‑time data such as:

  •  Last traded price
  •  Best bid price
  •  Best ask price

If any of these prices are missing or unavailable when your condition is triggered, it suggests the market data may be incomplete or abnormal.

In this case, to avoid executing your order with uncertain pricing, the system will reject the market order instead of sending it.

3. Not enough buying power

In a fast‑moving market, a market order can be filled at a price worse than the current last price (higher for buys, lower for sells).

To manage this risk, the system will:

  •  Estimate a safe maximum cost for your market order
  •  Check whether your available cash / buying power is enough

If your buying power is not sufficient to cover this estimated cost, the system will reject the market order to prevent overdrafts or excessive leverage.

What happens to an unfilled order?

The order will remain in the market waiting to be filled. However, please note: the conditional order has already been triggered and will not be triggered again.

Special rule for take-profit and stop-loss conditional orders

For take-profit and stop-loss conditional orders, the two conditions cancel each other out. Once one condition is triggered, the other is automatically invalidated. For example, if the take-profit condition is triggered, the stop-loss condition will no longer be effective even if the price later falls to the stop-loss level.

Recommendations

  • Each conditional order is valid for one trigger only. After it is triggered, it will not work again. If you need continued protection, please set up a new conditional order.
  • If you want both take-profit and stop-loss to work independently, consider setting up separate conditional orders — one for take-profit and one for stop-loss — to avoid the mutual cancellation effect.
  • When setting up conditional orders, pay attention to the liquidity of the underlying instrument, and try to avoid periods of low liquidity.
Was this article helpful?
You can also contact Customer Services for help.
Yes
No
Every question you ask will be answered
Scan the QR code to contact us
Also you can contact us via