Buy limit vs buy stop (and sell limit vs sell stop): pending orders explained
A buy limit waits below the market for a cheaper price; a buy stop waits above it for confirmation. Here is the 2×2 logic behind all four pending orders, how each one fills, and the spread detail that explains why your order did not trigger.
- Limit orders wait for a better price (buy below, sell above the market); stop orders wait for price to move through a level (buy above, sell below).
- A limit order fills at your price or better; a stop order becomes a market order when triggered, so it can suffer slippage and gaps.
- In MetaTrader, buy orders trigger on the ask and sell orders on the bid, while the chart usually shows the bid: that is why a buy limit can be missed by the size of the spread.
- MetaTrader 5 adds buy stop limit and sell stop limit orders, which MetaTrader 4 does not have.
- Pending orders stay live until filled, cancelled or expired, including over news releases and weekends, unless you set an expiry.
A buy limit is an order to buy below the current price, because you want a cheaper entry if the market dips to your level. A buy stop is an order to buy above the current price, because you only want to be long if the market proves it can rise through your level. The same logic mirrors for sells: a sell limit sits above the market, a sell stop sits below it.
Put simply, limit orders bet on a reversal at your level and stop orders bet on a continuation through it. The order type also decides how you get filled: a limit fills at your price or better, while a stop turns into a market order and takes whatever price is available, which is where slippage comes from.
Pending orders in one paragraph
A pending order is an instruction to open a trade later, automatically, if price reaches a level you choose. Nothing happens to your account until it triggers: no position, no margin used beyond what the broker may reserve, no profit or loss. Our general order types guide covers market orders, stop losses, take profits and OCO orders. This guide goes deeper on the four pending entry orders that every MetaTrader-style platform offers, plus the two extra ones in MetaTrader 5.
The 2×2: direction and intention
Every pending order answers two questions. Do you want to buy or sell? And do you want price to come back to you (a better price) or to break through a level (confirmation)? That gives four combinations:
- Buy limit: placed below the current price. You want to buy, but only if price falls to your level first. Typical idea: buying a pullback into support.
- Buy stop: placed above the current price. You want to buy, but only if price rises through your level. Typical idea: buying a breakout above resistance.
- Sell limit: placed above the current price. You want to sell, but only if price rises to your level first. Typical idea: selling a rally into resistance.
- Sell stop: placed below the current price. You want to sell, but only if price falls through your level. Typical idea: selling a breakdown below support.
A quick way to remember it: limit orders ask for a better price than now, stop orders accept a worse price than now in exchange for confirmation. Buying lower is better, so a buy limit goes below. Selling higher is better, so a sell limit goes above. Stops do the opposite.
Why a buy limit is placed below the price
This is the single most searched question about pending orders, and the answer follows from the word "limit". A limit sets the worst price you will accept. For a buyer, "worst" means highest. If you place a buy limit at 1.0800 you are saying "I will pay 1.0800 or less, never more". If the market is at 1.0850 right now, it is above your limit, so the order waits until price drops to 1.0800.
If you tried to place a buy limit above the current price, you would be saying "I will pay up to 1.0900" while the market is offering 1.0850. That condition is already met, so there is nothing to wait for. MetaTrader rejects this as an invalid price; some other platforms treat it as a marketable limit order and fill it immediately at the current price. Either way, it is not a pending order.
Why a buy stop is placed above the price
A stop order works the other way round. It is dormant until price reaches a trigger level, then it becomes an order to trade at the market. A buy stop above the market says "if price rises to 1.0910, buy me in". You are deliberately paying more than the current price because you want evidence that the market can trade at that level first.
How each order is filled
The difference between limit and stop orders is not just where they sit. It is what happens at the moment of execution.
Limit orders: your price or better
A limit order can only be executed at the limit price or a better one. A buy limit at 1.0800 should never fill at 1.0803. It can fill at 1.0800 or, if price gaps down through it (say from a Sunday open at 1.0780), it may be filled at the better price, depending on the broker's execution policy.
The trade-off is that a limit order has no guarantee of a fill. If price comes within a fraction of a pip of your level and turns away, you are not in the trade, however right the idea was. In a fast market price can also touch your level and move away before your order reaches the front of the queue at the liquidity provider, which on some execution models means a partial fill or no fill.
Stop orders: they become market orders
When a buy stop or sell stop triggers, the platform sends a market order. You get the next available price, which in calm conditions is at or very near your level. In fast conditions, such as a major data release or a thin market, the next available price can be several pips away. That difference is slippage, and with stop orders it usually works against you because you are buying into rising prices or selling into falling ones.
The extreme case is a gap. If EUR/USD closes on Friday at 1.0880 and opens on Monday at 1.0950, a buy stop at 1.0910 triggers at the first available price, roughly 1.0950, 40 pips worse than planned. A stop order cannot fill at a price that never traded. The gap risk guide covers how to size and plan for this.
The same mechanics apply to your stop loss, which is also a stop order. That is why a stop loss limits your loss in normal conditions but does not cap it absolutely, unless your broker offers a guaranteed stop.
Worked example 1: EUR/USD pullback with a buy limit
All numbers below are illustrative and chosen to make the arithmetic easy. They are not current prices or trade ideas.
Suppose EUR/USD is trading at 1.0850. You have marked 1.0800 as a support area on the chart, and your plan is to buy only if price pulls back there.
- Order: buy limit at 1.0800.
- Stop loss: 1.0770, below the support area, so 30 pips of risk.
- Take profit: 1.0890, 90 pips away, a reward-to-risk of 3:1.
- Size: with a 10,000 USD account risking 1% (100 USD), and a pip value of about 10 USD per standard lot, the size is 100 ÷ (30 × 10) = 0.33 lots, rounded down.
If price drops to 1.0800 (measured on the ask, more on that below), the order fills and the stop and target are attached automatically. If price turns at 1.0805, you never get in. You can use the position size calculator to repeat the sizing step for any stop distance and account.
Worked example 2: EUR/USD breakout with a buy stop
Now suppose EUR/USD has been stuck between 1.0820 and 1.0900 for several days. Your plan is to be long only if it breaks out of the top of the range.
- Order: buy stop at 1.0910, a few pips above the range high, so a single spike to 1.0900 does not trigger it.
- Stop loss: 1.0870, back inside the range, where the breakout idea would be wrong. That is 40 pips.
- Take profit: 1.0990, 80 pips away, 2:1.
- Size: 100 USD ÷ (40 × 10) = 0.25 lots.
If the breakout happens during a quiet session you will probably be filled at or near 1.0910. If it happens on a US payrolls release, the fill could be 1.0915 or 1.0925, and your real risk to the stop is then 45 or 55 pips rather than 40. Some traders reduce size on breakouts that coincide with scheduled data, or avoid having stop entries live at the release time at all.
Choosing a buy limit here would be the wrong tool. A buy limit at 1.0910 with price at 1.0860 is above the market and would be rejected or filled at once, putting you long inside the range, which is exactly what the plan wanted to avoid.
Worked example 3: gold with a sell limit and a sell stop
Gold (XAU/USD) is a useful second example because the money per move is larger. On most platforms one lot is 100 ounces, so every 1 USD move in price is worth 100 USD per lot and 1 USD per 0.01 lot. The gold CFD guide explains the contract in detail. Again, the prices are illustrative.
Suppose gold is trading at 3,000.00, with resistance marked around 3,040 and support around 2,960.
Selling a rally (sell limit):
- Order: sell limit at 3,038.00, just under the resistance area.
- Stop loss: 3,055.00, 17 USD above entry.
- Take profit: 2,990.00, 48 USD below entry.
- Size: risking 100 USD, 100 ÷ 17 = about 5.9 USD per 1 USD move, so 0.05 lots (5 USD per 1 USD move, 85 USD of risk), rounding down.
Selling a breakdown (sell stop):
- Order: sell stop at 2,955.00, below the support area.
- Stop loss: 2,975.00, 20 USD above entry.
- Take profit: 2,915.00, 40 USD below entry.
- Size: 100 ÷ 20 = 5 USD per 1 USD move, so 0.05 lots.
The two orders express opposite views of the same level: the sell limit expects resistance to hold, the sell stop expects support to fail. Some traders place both and accept that, at most, one will be relevant. If you do, make sure you understand what happens if both trigger on the same day; an OCO (one-cancels-other) arrangement, where your platform supports it, avoids that. For sizing gold specifically, the gold lot size calculator does the conversion.
Bid, ask and the spread: why your order did or did not trigger
This is the part most beginner guides skip, and it explains a lot of confused forum posts. Every quote has two prices: the bid (where you can sell) and the ask (where you can buy). The bid/ask guide explains the basics. In MetaTrader:
- Buy limit and buy stop trigger on the ask. A buy order has to be filled at a price someone will sell to you at, which is the ask.
- Sell limit and sell stop trigger on the bid. A sell order is filled at the bid.
- Stop loss and take profit on a long position trigger on the bid, because closing a long means selling.
- Stop loss and take profit on a short position trigger on the ask, because closing a short means buying.
MetaTrader's own help documentation describes the orders in these terms: a buy limit buys "at the Ask price that is equal to or less than" the order price, and a sell stop sells at a bid "equal to or less than" it. The catch is that MetaTrader charts are drawn from the bid by default. The ask line is hidden unless you turn it on in the chart properties.
What that means in practice, with a 1-pip spread:
- A buy limit can be missed by the spread. Your buy limit is at 1.0800. The chart (bid) drops exactly to 1.0800 and bounces. At that moment the ask was 1.0801, so your order never triggered. The chart says price touched your level; your order says it did not.
- A sell limit fills when the chart touches it. Because it triggers on the bid, which is what the chart shows.
- A buy stop fills slightly before the chart reaches it. A buy stop at 1.0910 triggers when the ask reaches 1.0910, which happens while the bid is still at 1.0909.
- A short position's stop loss can be hit before the chart reaches it. Its stop triggers on the ask. If the spread widens, for example at the daily rollover or around news, the ask can jump to your stop level while the bid on your chart stays well below it. The guide to why spreads widen explains when this is most likely.
The fix is simple: show the ask line on your chart, and when placing buy limits or short-side stops, allow for the typical spread. If you want a buy limit to fill when the bid reaches 1.0800, place it at roughly 1.0800 plus the spread.
Buy stop limit and sell stop limit (MetaTrader 5 only)
MetaTrader 4 offers four pending order types: buy limit, sell limit, buy stop and sell stop. MetaTrader 5 adds two more:
- Buy stop limit: you set a stop price above the current ask and a limit price below that stop price. When the ask reaches the stop price, the platform places a buy limit at your limit price. The idea is "if price breaks above this level, I want to buy, but only on a pullback to this second level".
- Sell stop limit: you set a stop price below the current bid and a limit price above it. When the bid reaches the stop price, a sell limit is placed at the limit price.
Example with illustrative numbers: EUR/USD is at 1.0860. You set a buy stop limit with a stop price of 1.0910 and a limit price of 1.0895. Nothing happens until the ask reaches 1.0910. At that point a buy limit at 1.0895 appears. If price then dips back to 1.0895, you are filled at 1.0895 or better. If it keeps running higher, you never get in.
The appeal is that you avoid chasing a breakout at a slipped price: you get confirmation and a controlled entry price. The cost is that strong breakouts often do not pull back, so you will miss some of the moves you wanted. A stop limit order removes slippage risk at entry but replaces it with fill risk.
Note that a stop limit order is not the same as a stop loss with a limit. Stop losses in MetaTrader are always stop orders that become market orders. Stop limit orders are entry orders only.
Expiry: how long a pending order lives
By default a pending order is good till cancelled (GTC): it stays live until it fills or you delete it, whether that is an hour or a month later. Both MetaTrader platforms let you set an expiry date and time instead, and MetaTrader 5 adds options such as an order that expires at the end of the current trading day. Other platforms use similar labels such as GTC, day and good till date.
Expiry matters more than it seems. A setup based on today's price action is often irrelevant by next week, but a GTC order does not know that. Using an expiry forces a decision: the order either fills while the idea is current or disappears.
When to use each order
Order type should follow from the trade idea, not the other way round. A rough guide:
- Use a buy limit or sell limit when the idea is that price will react at a level: buying into support, selling into resistance, entering on a retracement within a trend. You want a good price and you accept that you may miss the trade.
- Use a buy stop or sell stop when the idea is that a move through a level changes the picture: a range breakout, a break of a previous high or low. You want confirmation and you accept a worse and less predictable fill.
- Use a stop limit (MT5) when you want breakout confirmation but refuse to pay more than a set price, and you are content to miss runaway moves.
- Use a market order when you have decided to trade now and the exact price matters less than being in.
Whatever you use, set the stop loss and take profit at the same time, and size from the distance between your entry and your stop. The stop-loss placement guide covers where that stop should go; the position sizing guide covers how big the trade should be once you know.
Common mistakes with pending orders
- Putting a buy limit above the market (or a sell limit below it). MetaTrader rejects it as an invalid price; on platforms that accept marketable limits it fills immediately. Either way it is not the order you meant. If you want to buy above the current price, that is a buy stop.
- Using a limit order for a breakout. A breakout plan needs a stop entry. A limit order placed at the breakout level from the wrong side either fills at once or never at all.
- Using a stop order for a pullback. The mirror image: a buy stop below the market is invalid, and a buy stop placed above the market in the hope of catching a dip will only fill once price rises.
- Ignoring the spread. Buy limits and short-side stops trigger on the ask, which your chart may not show. Turn the ask line on.
- Forgetting orders over news. A pending stop order sitting a few pips from the price ahead of a central bank decision or payrolls release is likely to be triggered in the fastest, widest-spread part of the move. Check the economic calendar and decide in advance whether those orders should be live.
- Forgetting orders over the weekend. A GTC order left on Friday can fill on a Monday gap far from its level, and a stop entry may fill well beyond it. Delete or adjust orders you do not want exposed to the weekend.
- Placing orders too close to the price. Many brokers set a minimum distance between the current price and a pending order (MetaTrader calls it the stops level). An order inside that distance is rejected. The distance is shown in the symbol's contract specification.
- Not attaching a stop loss. A filled pending order without a stop loss is an open position with no exit plan. Attach the stop when you place the order, not after the fill.
- Stacking orders and forgetting the total exposure. Three pending buy orders on EUR/USD, GBP/USD and AUD/USD can all fill on the same US dollar move, tripling the risk you thought you were taking.
- Sizing from the planned entry on stop orders without allowing for slippage. If breakouts in your market routinely slip by several pips, your real risk per trade is bigger than the calculation says.
Frequently asked questions
What is the difference between a buy limit and a buy stop?
A buy limit is placed below the current price and fills only if price falls to it, at your price or better. A buy stop is placed above the current price and triggers when price rises to it, at which point it becomes a market order. Use a limit when you want a cheaper entry at a level you expect to hold, and a stop when you want confirmation that price can break through a level.
Why is a buy limit placed below the current price?
Because a limit sets the highest price you are willing to pay. If the market is already trading below that limit there is nothing to wait for, so a meaningful buy limit must sit below the current price, waiting for a dip. MetaTrader rejects a buy limit placed above the current ask as an invalid price.
Can a buy limit order suffer slippage?
A limit order should not fill at a worse price than its limit. It can fill at a better price if the market gaps through it, depending on the broker's execution policy. The risk with limit orders is not slippage but missing the trade: price can come close, or even touch your level on the chart, without filling the order.
Why did my buy limit not trigger when price touched it?
Most likely because of the spread. MetaTrader charts show the bid by default, but buy orders trigger on the ask. If the bid touched 1.0800 while the ask was 1.0801, a buy limit at 1.0800 did not trigger. Turn on the ask line and allow for the typical spread when placing buy limits.
Does MetaTrader 4 have buy stop limit orders?
No. MetaTrader 4 has buy limit, sell limit, buy stop and sell stop. Buy stop limit and sell stop limit orders are available in MetaTrader 5, where they place a limit order once a stop price is reached.
Do pending orders expire?
Not by default. A pending order is normally good till cancelled and stays live until it fills or you delete it, including over news releases and weekends. You can set an expiry date and time when placing or modifying the order, and MetaTrader 5 also offers an end-of-day option.
Not investment advice. This is general information and education, written without knowledge of your circumstances. It is not a recommendation to buy or sell any instrument. Past performance is not a reliable indicator of future results. Trading leveraged products carries a high risk of losing money. Risk warning