Order Types Explained: Market, Limit, Stop, Stop Limit and Stop Loss
How Market, Buy/Sell Limit, Buy/Sell Stop and MT5 Stop Limit orders work, which side of the spread they fill on, slippage, Monday gaps and expiry options.
- A Limit waits for a better price than now (buy lower, sell higher). A Stop waits for price to run through a level and then follows it
- A Buy opens at the Ask, but the Stop loss and Take profit of a Buy trigger on the Bid. Sells are the other way round
- A Stop loss is not a guaranteed price. If price jumps over it, the trade closes at the first available price, which can be much worse
- Pending orders sit on the server and never cancel themselves. Set an expiry or cancel them before any period you don't want them to fill
Every trade starts with an order. Pick the wrong type and a trade can open at a price you didn’t intend, fail to open even though the chart touched your line, or close at twice the planned loss. This article walks through every order type in MT5: where each one sits, when it triggers, whether it uses the Bid or the Ask, and what happens when price jumps.
Two groups: Market and Pending
- Market order buys or sells right now at the current market price. Press Buy or Sell and you have a position
- Pending order leaves a condition on the broker’s server: if price reaches this level, open a trade for me
There are always two prices. The Bid is the price you can sell at. The Ask is the price you can buy at. The Ask is above the Bid by the spread. For a refresher, read What spread costs you per trade.
A Buy opens at the Ask and closes at the Bid. A Sell opens at the Bid and closes at the Ask. Remember this one rule and every order type gets easier.
Market order: a sure fill, not a sure price
A market order almost always fills, but at whatever price is available when it reaches the server, which can differ from the price on your screen when you clicked. That difference is slippage. In normal conditions it is usually tiny. During news or when spreads are wide, it can be several pips.
Use a market order when the exact entry doesn’t matter much and getting in matters more than getting a nice price.
The four main pending orders
The name tells you two things. Buy or Sell is the direction. Limit or Stop tells you which side of the current price it sits on.
| Order | Placed | Triggers when | Idea |
|---|---|---|---|
| Buy Limit | Below the Ask | The Ask falls to your price | Buy a pullback, e.g. at support |
| Sell Limit | Above the Bid | The Bid rises to your price | Sell a bounce, e.g. at resistance |
| Buy Stop | Above the Ask | The Ask rises to your price | Buy when price breaks up |
| Sell Stop | Below the Bid | The Bid falls to your price | Sell when price breaks down |
Example: EURUSD is at Bid 1.08500, Ask 1.08510 (spread 1 pip).
- To buy if price pulls back to support at 1.08300, use a Buy Limit at 1.08300
- To sell if price bounces up to resistance at 1.08800, use a Sell Limit at 1.08800
- To buy once price breaks above 1.08700, use a Buy Stop at 1.08700
- To sell once price breaks below 1.08200, use a Sell Stop at 1.08200
If you put an order on the wrong side, for example a Buy Limit above the current price, MT5 rejects it as an invalid price. For choosing the levels themselves, read Support, resistance, supply and demand.
Buy Stop Limit and Sell Stop Limit (MT5)
MT5 adds two order types that MT4 doesn’t have. They are two-step orders with two prices.
- Buy Stop Limit: a Stop price above the Ask and a Limit price below the Stop price. When the Ask rises to the Stop price, the platform places a Buy Limit at the Limit price. For example, Stop 1.08700 and Limit 1.08600 means “if price breaks 1.08700, then wait to buy a pullback to 1.08600”
- Sell Stop Limit: the mirror image. A Stop price below the Bid and a Limit price above the Stop price. When the Bid falls to the Stop price, a Sell Limit is placed
The upside is that you don’t chase the top of the breakout candle. The downside is that if price breaks out and keeps running without pulling back, you never get in.
Why price touched the line and nothing happened
MT4 and MT5 charts show the Bid by default, but Buy-side orders trigger on the Ask.
Example: a Buy Limit at 1.08300 with a 1-pip spread.
- The Buy Limit triggers when the Ask falls to 1.08300
- When the Ask is 1.08300, the Bid is 1.08300 − 0.00010 = 1.08290
- So the Bid chart has to reach 1.08290, one pip below your line
- If the candle low on the chart is exactly 1.08300, the line looks touched, but the Ask only got down to 1.08310, so the order doesn’t fill
Sell-side orders don’t have this problem because they trigger on the Bid, which is what the chart shows. You can switch on the Ask line in the chart settings (Show Ask line). On pairs with wide spreads, or when the spread widens, you’ll see how much this gap matters.
Stop loss and Take profit are orders too
A Stop loss (SL) and a Take profit (TP) are closing orders attached to an open trade, and they use the closing side of the price.
| Trade | Opens at | SL and TP trigger when |
|---|---|---|
| Buy | Ask | The Bid reaches the SL or TP |
| Sell | Bid | The Ask reaches the SL or TP |
One consequence: the SL of a Sell can be hit while the Bid chart never touches the line, because a widening spread pushes the Ask up to it first. A Sell with a tight SL is more exposed to spread spikes than the chart suggests.
Most brokers also set a minimum distance (Stops level): SL, TP and pending orders must be at least a certain number of points from the current price. You can see it in the symbol’s Specification (right-click in Market Watch). Anything closer is rejected.
Slippage and gaps: a Stop loss is not a guaranteed price
On a standard account, a Stop loss means “close at the best available price once price reaches this level”, not “close at exactly this price”. When the market moves smoothly, those are almost the same. When price gaps, jumping past a level with no prices in between, the trade closes at the first price available after the jump.
Example of a Monday gap. Balance 3,000 dollars, EURUSD 0.10 lot (1 pip = 1 dollar).
- On Friday you buy at the Ask of 1.08510 with an SL at 1.08210, 30 pips away
- Planned loss = 30 pips × 1 dollar = 30 dollars, or 30 ÷ 3,000 = 1% of the account
- The market closes on Friday at a Bid of 1.08380. The SL hasn’t been hit
- There is news over the weekend, and on Monday the market opens at a Bid of 1.07900, which is 1.08210 − 1.07900 = 31 pips below the SL
- The SL triggers on the first price. The trade closes around 1.07900. Actual loss = 1.08510 − 1.07900 = 61 pips = 61 dollars, or 2.03% of the account
The real loss is about twice the plan, even though the SL was set correctly. And spreads are often wider than usual at the Monday open, so the actual fill can be worse still.
A Stop loss tells the platform when to start closing, not what price you’ll get. Size your trades so a loss twice the plan still doesn’t seriously hurt the account.
Gaps don’t only happen on Mondays. Big news that moves price dozens of pips in seconds causes the same kind of slippage. A pending Stop order (Buy Stop, Sell Stop) that gets gapped through becomes a market order and also fills worse than its price. Limit orders and TPs, when price gaps through them in your favour, commonly fill at your price or better, but the details depend on each broker’s execution rules, so check your account terms. Some brokers offer a guaranteed Stop loss (usually for a fee). Check the conditions where you trade.
Pending order expiry
When you place a pending order in MT5, you choose how long it lives.
- GTC (Good till cancelled): stays until it fills or you cancel it
- Today: stays until the end of that trading day (server time)
- Specified: stays until a date and time you set
- Specified day: stays until the end of a day you set
Which options you actually get depends on the broker’s settings for each symbol. In MT4 you use the Expiry field to set a date and time instead. The point to remember is that a pending order doesn’t know whether the reason you placed it still holds. If you placed it at yesterday’s support and the picture has changed today, the order is still waiting in the same place.
Pending orders across rollover and news
Pending orders live on the broker’s server, not on your computer. Close MT5, turn off your computer or stop your EA, and the order can still fill when price gets there.
- Rollover, the broker’s end of day (for brokers on GMT+2 or GMT+3 server time, roughly 04:00–05:00 Thai time (UTC+7)): liquidity is thin and spreads often widen briefly. Pending orders and SLs close to price can be hit by the spread spike rather than by a real move. Trades held through it also pay or earn swap, see Swap and overnight fees
- News: a Buy Stop and Sell Stop placed on either side before a release can fill several pips worse than their prices, or both can fill as price whips back and forth. Check release times in How to read the economic calendar and session times in Forex market hours in Thai time
This matters for EAs too. In our backtest on gold (XAUUSD) M1, at 0.01 lot with a 3,000-dollar balance, one EA had a time filter meant to trade only during part of the day. But the filter only stopped the EA’s own decisions. It didn’t cancel pending orders already placed, so they kept filling around the clock, including at old prices placed long before. The reported result was a profit of 1,563 dollars (142 trades). After fixing it to cancel pending orders outside the window, the result became a loss of 342 dollars (155 trades). A similar number of trades, but the opposite sign. The clue was that a narrower time window produced more trades than no filter at all, which is impossible if the filter really works. Backtest results do not predict future results. For more on why tests and live trading differ, read Backtest vs live results.
The lesson applies to manual traders too. If you don’t want a position during some period, cancel your pending orders before it starts. Walking away from the screen doesn’t stop them.
Using orders with risk management
- Size the lot from the SL distance before placing any order, market or pending. The steps are in Position size from your Stop loss and Risking 1% per trade
- Attach SL and TP when you place a pending order, so a trade that opens while you’re away has an SL from its first second
- Allow for slippage. If you hold through a weekend or news, ask whether a loss twice the plan is still acceptable
- Check margin. A pending order uses no margin until it becomes a trade. If several orders fill at once, margin used jumps at once, and if there isn’t enough margin when an order triggers, it may be rejected. Read Leverage, margin and stop out
- Practise on demo first, especially Stop Limit orders and expiry settings. See From demo to a live account and log every order in your trading journal
Common mistakes
- Mixing up Limit and Stop. Placing a Buy Stop below price to buy a pullback gets rejected by MT5 and you miss the move. Check before every click: buy lower or sell higher = Limit, follow price through a level = Stop
- Forgetting that Buy watches the Ask. You set a Buy Limit exactly at support and wonder why the touch didn’t fill. If you want it to fill when the chart touches, add the spread
- Thinking a Stop loss locks the price. Gaps and news can make a loss bigger than planned. Size for it
- Leaving GTC orders for weeks. The reason you placed them is gone, but the order is still waiting, and fills after the market has changed
- Relying on the MT4/MT5 trailing stop with the platform closed. The built-in trailing stop runs in your terminal. Close it or lose the connection and it stops moving your SL (the SL already set stays on the server)
- A tight SL on a Sell through rollover. A few seconds of wide spread can close the trade even though the Bid chart never touched the line
Frequently asked questions
Price on the chart touched my Buy Limit line. Why didn't it fill?
MT4 and MT5 charts show the Bid by default, but a Buy Limit triggers when the Ask comes down to it. The Ask sits above the Bid by the spread, so the chart has to trade below your line by the spread before the order fills.
What is the difference between a Buy Stop and a Buy Limit?
A Buy Limit sits below the current price and waits to buy on a pullback. A Buy Stop sits above the current price and buys when price breaks up through it, for example on a breakout above resistance.
Is there a way to prevent Stop loss slippage?
On a standard account you can't prevent it completely. You can reduce the odds by not holding through weekends or big news, sizing so that a loss twice the plan is still acceptable, and reading your broker's terms on guaranteed Stop loss orders, if they offer them.
This is general education, not investment advice. Trading is risky and you may lose all of your capital.