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.
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.
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:
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.
| Type | Triggers when | Typical use |
|---|---|---|
| Buy Limit | Ask falls to your price | Buy a dip below current market |
| Sell Limit | Bid rises to your price | Sell a spike above current market |
| Buy Stop | Ask rises to your price | Buy breakout above current market |
| Sell Stop | Bid falls to your price | Sell breakdown below current market |
Where is your trigger relative to current price, and which direction do you want to trade?
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:
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.
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.
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.
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.
MT5 has no native OCO order type. To simulate OCO, you place two pending orders, then either:
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.
When placing a pending order, MT5 offers expiry options:
For market orders, time-in-force is set by the broker's filling policy:
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.
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).
Right-click then Delete. Confirmation, gone.
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.
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.
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.
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.
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.