Sign up with our partner broker and get free XAU/USD signals. JOIN US
LIVE MT5 BUILD 5830 LAST REV 2026-05-23
SESSION -- UTC --:--
SESSIONS
SYDNEY22:00–07:00 UTC
TOKYO00:00–09:00 UTC
LONDON07:00–16:00 UTC
NEW YORK12:00–21:00 UTC

MT5 order types explained: market, limit, stop, OCO

When to use a market order vs a limit, why a stop is not a stop-loss, how OCO actually works on MT5, and the stop-limit mechanic that catches out everyone migrating from MT4.

PUBLISHED 2026-05-23 READING TIME 8 MIN MT5 BUILD 5830 CATEGORY PLATFORM
Key points:
  • MT5 supports two execution orders (Buy and Sell) and four pending order types (Buy/Sell Limit, Buy/Sell Stop).
  • MT5 also supports Buy/Sell Stop Limit, which is genuinely different from MT4's behaviour and surprises migrating traders.
  • Stop loss and take profit are not separate order types. They are conditions attached to a position.
  • OCO (One Cancels Other) is not a native single-order type on MT5. It is achieved by linking two pending orders.

1. The two market orders: Buy and Sell

Press F9 or click the New Order button. Choose Buy or Sell. The order executes at the current ask (for Buy) or bid (for Sell), give or take slippage.

What actually happens under the hood depends on the broker's execution model. On most retail MT5 brokers, the execution mode is set to Market Execution: you send an order and the broker fills you at whatever price is available when the order arrives. There is no rejection due to "price changed" - you just accept whatever fill comes back.

On some broker setups, particularly ECN-style accounts, execution mode is Instant Execution: the price you click is the price you get, but if the market has moved by more than the broker's deviation tolerance, you get a requote dialog. This is rare in 2026.

The Deviation setting

In the order dialog you will see a field labelled Deviation, with a default value like "10 points". This is your slippage tolerance. The order will fill at any price within that deviation from what you saw. Beyond that, the order is rejected.

Set deviation to:

  • Tight (1-5 points) if you are scalping and getting a worse price than expected ruins the trade.
  • Loose (50-100 points) if you are entering a swing trade and just need to get filled.
  • Off (0 with "no deviation") only if you are testing something. Real trading needs some tolerance.

2. Pending orders: the four basic types

A pending order sits on the broker server, waiting for a trigger price. When the trigger hits, it executes a market order at the best available price.

TypeTriggers whenTypical use
Buy LimitAsk falls to your priceBuy a dip below current market
Sell LimitBid rises to your priceSell a spike above current market
Buy StopAsk rises to your priceBuy breakout above current market
Sell StopBid falls to your priceSell breakdown below current market

The decision tree

Where is your trigger relative to current price, and which direction do you want to trade?

  • Trigger below current, you want to buy → Buy Limit (waiting to buy a dip)
  • Trigger above current, you want to buy → Buy Stop (waiting for breakout)
  • Trigger above current, you want to sell → Sell Limit (waiting to sell into strength)
  • Trigger below current, you want to sell → Sell Stop (waiting for breakdown)

3. Stop Limit orders (MT5 only, different from MT4)

MT5 introduced Buy Stop Limit and Sell Stop Limit, which do not exist in MT4. They confuse traders migrating from MT4.

A Buy Stop Limit works in two stages:

  1. You set a Stop price (the trigger) and a Limit price (where you actually want to buy).
  2. When ask rises to the Stop price, a Buy Limit order is placed at the Limit price.

Example: market is at 1.0800. You set Buy Stop Limit with Stop=1.0850 and Limit=1.0830. If price rises and touches 1.0850, a Buy Limit at 1.0830 is placed (assuming the broker allows the limit to be below current ask, which depends on broker rules).

Use case: you want to trade a breakout, but only if there is a pullback after the break. Stop Limit lets you express that two-stage condition in one order.

Sell Stop Limit is symmetric: the Stop is below market, the Limit can be above the Stop. When bid falls to the Stop, a Sell Limit at the Limit price is placed.

Common mistake: traders setting a Buy Stop Limit and expecting it to behave like a Buy Stop. It does not. Buy Stop fills at any price once the trigger hits. Buy Stop Limit places a Limit order, which may or may not fill depending on whether price reaches the Limit. If price gaps past your Limit, you get no fill.

4. Stop loss and take profit are not order types

Many guides confuse stop loss and take profit with stop and limit orders. They are different concepts.

SL and TP are conditions attached to an existing position. You set them on the original order dialog (the SL and TP fields) or modify them later by right-clicking the position.

  • For a long position: SL is below entry, TP is above entry. SL triggers a sell at market when bid falls to SL. TP triggers a sell at market when bid rises to TP.
  • For a short position: SL is above entry, TP is below entry. SL triggers a buy at market when ask rises to SL. TP triggers a buy at market when ask falls to TP.

Critical detail: SL and TP execute at market when triggered, not at the SL or TP price you specified. In a fast market, you can experience slippage on the SL fill that takes you below your intended exit. This is why some brokers offer guaranteed stop losses as a paid feature.

5. Trailing stop

Right-click a position and choose Trailing Stop, then a distance in points. The SL automatically moves with the price as the trade goes in your favour, maintaining a fixed distance behind.

Important: MT5's trailing stop runs client-side. It only works while your MT5 is open and connected to the server. If your computer crashes, the trailing stop stops trailing.

For server-side trailing (works even when your terminal is off), you need a broker that supports server-side trailing (some do, most do not) or an Expert Advisor that runs on a VPS.

6. OCO (One Cancels Other)

MT5 has no native OCO order type. To simulate OCO, you place two pending orders, then either:

  • Manually monitor and cancel one when the other fills
  • Use an OCO Expert Advisor (many free ones on MQL5 Market) that automates the cancellation

Common OCO use case: you want to trade a breakout in either direction. Place a Buy Stop above range high and a Sell Stop below range low. When one triggers, you want the other cancelled automatically.

The cleanest free OCO EA solution: search "OCO" on the MQL5 Market and download one with 100+ downloads and recent updates. Attach it to the chart, configure the two pending orders' tickets, and it manages the cancellation.

7. Order expiry and time-in-force

When placing a pending order, MT5 offers expiry options:

  • GTC (Good Till Cancelled): stays active until you cancel it or it fills. Default.
  • Today: expires at end of trading day.
  • Specified: expires at the date/time you set.
  • Specified Day: expires at end of the day you set.

For market orders, time-in-force is set by the broker's filling policy:

  • Fill or Kill: fill the entire order at the requested price, or cancel.
  • Immediate or Cancel: fill as much as possible immediately, cancel the rest.
  • Return: fill what is available, leave the rest in the order book.

You generally do not need to think about filling policy. It is set per-symbol in the contract specification and MT5 uses whatever the broker has configured.

8. Modifying and cancelling orders

Modify a pending order

Right-click the pending order in the Trade tab (bottom of MT5), choose Modify or Delete. You can change the trigger price, SL, TP, and expiry. You cannot change the order type (a Buy Limit cannot become a Sell Stop - cancel and replace instead).

Cancel a pending order

Right-click then Delete. Confirmation, gone.

Modify an open position

Right-click the position in the Trade tab, choose Modify. You can change SL and TP. You cannot change entry price (it has already been filled). To "average in", place a new order.

FAQ

Why does my Buy Limit not fill when price touches my level?

A Buy Limit triggers when ask reaches your price, not when bid does. Most chart price displays show bid. If you set the Buy Limit at the bid you see, ask may need to drop another spread-width to trigger. Account for spread when placing limits.

What is the difference between a stop and a stop loss?

A "stop order" (Buy Stop or Sell Stop) is an entry order. A "stop loss" is an exit condition on a position. They share the name "stop" but are different operations.

Can I set SL and TP when placing a pending order?

Yes. The order dialog has SL and TP fields that apply to the resulting position when the pending order fills. This is the safest pattern: define your full setup before you click Place.

What happens to my pending orders over the weekend?

They stay active (assuming GTC expiry). If market opens with a gap that passes your trigger price, you will fill at the open price after the gap. This is how weekend gap losses happen on stop orders.