FAQ
Home
Support Center
FAQ
Spot & Margin Trading
Spot Trading
Order Types
Why Wasn’t My Limit Order Filled?

Why Wasn’t My Limit Order Filled?

2024-03-28 07:33

What are limit orders?

Limit orders are orders you place on the order book with a specific limit price. They’ll only be executed if the market price reaches your limit price (or better). You may use limit orders to buy an asset at a lower price or sell at a higher price than the market price.
For a more detailed explanation, please visit What are Market Order and Limit Order, and How to Place Them.

When will my limit order fill?

Limit orders will only be filled when the following 3 conditions are met:

1. The market price has reached your limit price or a better price

Let’s use a limit buy order as an example. The market price is at $2,400 (A) and you place a limit buy order at $1,500 (C). The limit buy order will only be executed when the market price falls to $1,500 (C) or below. At the end, your limit buy order is executed at $1,490, which is a better price than the limit price you set.

2. Sufficient liquidity in the market

When the market price is at $1,500 (C), but there aren’t any sell orders, the buy order won’t be executed. However, please note that an order can also be partially filled if the liquidity satisfies part of the order.

3. Sufficient time for order execution

During periods of high volatility, your order may not be able to reach the end of the order book for execution, even if the market price reaches your limit price.

How to check if the market price has reached my limit price?

1. Log in to your Binance account and go to [Trade] - [Spot].
2. Select the trading pair you wish to check from the right, for example, BTC/USDT. Then, choose [Trading View] on the chart and customize the time period to [1m]. Setting the time period to 1 minute allows you to better visualize the price.
3. You can now draw the parameters of your order. Let's use the following parameters:
  • Trading pair: BTC/USDT
  • Order type: Stop limit sell order
  • Order placement time: 2024-03-27 05:00 (UTC)
  • Stop price: 70,330 USDT
  • Limit price: 70,600 USDT
After the order was placed, BTC price went above the stop price and triggered the order. This means that the order was sent to the order book once the BTC price reached the stop price of 70,330 USDT. However, it wasn’t executed as it didn’t reach the limit price you set (70,600 USDT).
Take a closer look at the 1-minute trading chart and you can see that the BTC price only reached 70,598 USDT. Thus, your order wasn’t filled as it is lower than your expected selling price (the limit price of 70,600 USDT).
Please note that even if the market price touched the limit price, your order may not be executed if the liquidity of the trading pair is insufficient.

What are the limitations of placing limit orders?

  • Regular trading pairs: You can only place orders with a limit price between 20% - 500% of the market price. For example, the market price is 100 USDT, you may only enter a limit price between 20 and 500 USDT.
  • Stablecoin trading pairs: You can only place orders with a limit price between 80% - 120% of the market price. For example, the market price is 100 USDT, you may only enter a limit price between 80 and 120 USDT.
  • Limit buy orders: If the limit price you set is higher than the market price, it may be executed at a better price (lower than or equal to the limit price).
  • Limit sell orders: If the limit price you set is lower than the market price, it may be executed at a better price (higher than or equal to the limit price).

Why is the trailing stop order not being executed?

To understand why your trailing stop order is not being executed, you need to understand the parameters that have been set:
  • Activation Price: The price to start the tracking process.
  • Trailing Delta: The percentage away from either the highest price (sell order) or the lowest price (buy order).
  • Limit Price: The price at which the order can be executed. For buy orders, the order cannot be executed above the limit price because you want to buy low. For sell orders, the order cannot be executed below the limit price because you want to sell high.
  • Order Type: Buy or sell order.
Let’s look at the following examples:
#1 Trailing Stop Buy Order on ETH/USDT
  • Activation Price: 3,050
  • Trailing Delta: 1%
  • Limit Price: 2,905
  • Order Type: Buy order
The order was placed on 17/04/2024 at 11:15 (UTC), it reached the activation price at 11:45 (UTC) and began to decline. The price then fell to a low of 3,015.42 and bounced back. With the 1% Trailing Delta, trailing would stop at the price of 3,045.5742, which it did at 13:35 (UTC) on 17/04/2024 and sent the order to the book. However, the limit price of this order is 2,905 and since it was a buy order, it couldn’t be executed above 2,905, so the order wasn’t executed.
#2 Trailing Stop Sell Order on BTC/USDT
  • Activation Price: N/A
  • Trailing Delta: 1.5%
  • Limit Price: 64,700
  • Order Type: Sell
The order was placed on 16/04/2024 16:10 (UTC), as no Activation Price was entered, trailing started after the order placement. The price then rose to a high of 63,280.75 and declined. With the 1.5% Trailing Delta, trailing would stop at the price of 62,331.53875, which it did at 17:50 (UTC) on 16/04/2024 and sent the order to the book. However, the limit price of this order was 64,700 and since it was a sell order, it couldn’t be executed below 64,700, so the order wasn’t executed.