Skip to main content
All CollectionsFrequently Asked Questions
Why are my Limit Orders not executed?
Why are my Limit Orders not executed?
Primex Finance avatar
Written by Primex Finance
Updated over a week ago

NO WORRIES, NOT A BUG!

Sometimes you may notice that your limit order, take profit, stop loss order, or liquidation has not been executed despite the price on the chart reaching your pre-set level. This article explains why it happens and the logic behind conditional order execution.

The Current Price may differ from the price shown on the chart, as the Current Price is based on the oracle price data, while the chart is based on the prices of past swaps on DEXs.

Moreover, Keepers use various price sources to execute different kinds of orders.

Buy/Sell Limit order

Limit order is triggered by the oracle price, and the execution price should be equal to the price calculated by the Swap Router. Limit may not be triggered when the Current Price is equal to the specified Limit Price, as the actual Swap Router execution price (Swap Price) is lower (Sell order) / higher (Buy order) than the Current Price.

Take Profit

TP is triggered by the oracle price, and the execution price should be equal to the price calculated by the Swap Router. TP may not be triggered when the Current Price is equal to the specified TP price level, as the actual Swap Price is lower than the Current Price.

Stop Loss and Liquidation

SL as well as Liquidation is always triggered and executed by the oracle price.

EXAMPLE

Buy Limit order: LINK-UNI

Limit Price: 0.637

Current Price: 0.636

Swap Price: 0.639

It turns out that Current Price < Limit Price < Swap Price, so Keeper cannot execute such an order until Swap Price <= Limit Price.

Did this answer your question?