Order types: market, limit, stop
How a market order fills and why the fill price can differ from the one you saw
A market order is an instruction to trade at the best price available right now. You do not name a price. The platform takes the next price in the queue and fills you there. On a quiet market the fill is usually close to the number on screen. On a fast market it can be several pips away.
The gap between the price you saw and the price you get is called slippage. It happens because prices move between the moment you click and the moment the order reaches the broker. A market order on USD/ZAR at 18.4100 might fill at 18.4105 or 18.4095. That is 5 pips, which on 0.10 lots is about R0.50 at roughly R0.10 per pip.
Slippage works in both directions. It can help you or cost you. You cannot control which way it goes. What you can control is whether you use a market order at all. If the exact price matters to your plan, a market order is the wrong tool.
What a limit order does while it waits and what happens if price never arrives
A limit order names a price better than the current market. A buy limit sits below the market. A sell limit sits above it. The order rests in the system and does nothing until price reaches your level. If price never reaches it, the order never fills.
That waiting has a cost you should know about. Your money may be held aside for the order, so you cannot use it elsewhere. The market may move away from your level and stay away for days. A limit order is a patient order, and patience is not free.
When price does reach your level, the fill is usually at your price or better. On USD/ZAR at 18.4100, a buy limit at 18.4000 waits 100 pips below. If price falls there and fills, you bought 100 pips cheaper than the market price was when you placed the order. On 0.10 lots that is about R10.00 better, at roughly R0.10 per pip.
How a stop order triggers and why the trigger price is not always the fill price
A stop order names a price worse than the current market. A buy stop sits above the market. A sell stop sits below it. The order is dormant until price touches the trigger level. Once triggered, it becomes a market order and fills at the next available price.
That last part matters. The trigger price is not a promise of the fill price. If price jumps through your level, the fill can be several pips beyond it. On USD/ZAR with a buy stop at 18.4200, a fast move might fill at 18.4210. That is 10 pips of slippage, about R1.00 on 0.10 lots.
Stop orders are often used to limit a loss on an open position. A sell stop below your buy entry exits the trade if price falls. The trigger level is your decision. The fill price is the market's decision. Plan for the difference.
One entry idea, three order types, three prices
| Step | Amount | Note |
|---|---|---|
| The idea | Buy USD/ZAR | The same trade direction is used for all three orders. |
| Market order price | 18.4100 | The price quoted when the order is sent. |
| Limit order price | 18.4000 | A better price for a buyer, 100 pips below the market price. |
| Stop order price | 18.4200 | A worse price for a buyer, 100 pips above the market price. |
| Cost of the 100-pip difference on 0.10 lots | R10.00 | 100 pips x about R0.10 per pip on 0.10 lots. |
The broker may round the fill price, charge a spread or commission, and quote a different price if the market moves fast. These charges vary between brokers.
Doing it once, step by step
You will compare the three order types on one price chart, then place a practice order of each kind on a demo account. Work through the steps in order so each one builds on the last.
- 01
Open a demo account and find USD/ZAR
Register with a broker that offers a demo account. No real money is needed. Search for USD/ZAR in the platform's instrument list. Note the current price, which might be near 18.4100.
- 02
Place a market buy and record the fill
Buy 0.10 lots at the market. Write down the price you saw before clicking and the price you actually got. The difference is your slippage in pips. Multiply by about R0.10 per pip to see it in rand.
- 03
Place a limit buy below the market
Choose a price 100 pips below the current market. If the market is 18.4100, that is 18.4000. Place a buy limit there. Watch whether price reaches it. If it does, note the fill price and compare it to the market price when you started.
- 04
Place a stop buy above the market
Choose a price 100 pips above the current market. If the market is 18.4100, that is 18.4200. Place a buy stop there. Watch it trigger if price rises to that level. Note the trigger price and the fill price separately.
- 05
Compare the three results in rand
For each order, work out the difference between your chosen price and the fill price. Convert pips to rand using the value you found in step two. Write the three figures side by side. This shows which order type matched which intention.
- 06
Decide the price before the order type
For your next idea, write the price you want first. Then ask whether that price is better or worse than the market now. Better means a limit. Worse means a stop. Now means a market. The order type follows from the price, not the other way round.
The mistake most people make here
The common mistake is sending a market order when the plan was to wait for a better price. The order fills at whatever price is available, which may be worse than the price seen a second earlier. Another mistake is using a stop order to enter a trade when the intention was to buy lower. A stop triggers when price reaches a worse level, so it does the opposite of waiting. Decide the price first, then pick the order type that matches it.Check yourself
USD/ZAR is at 18.4100. You place a limit buy at 18.4000. Price falls to 18.4000 and your order fills. How many pips better is that than the market price, and what is that worth on 0.10 lots?
18.4100 minus 18.4000 is 100 pips. At about R0.10 per pip on 0.10 lots, 100 pips is about R10.00 better than buying at the market price.
You want to buy USD/ZAR but only if price rises above 18.4200 first. Which order type matches that, and what price does it trigger at?
A stop order. It triggers once price reaches 18.4200, which is 100 pips above the 18.4100 market price.
Questions that come up next
Can I change or cancel an order after I send it?
It depends on the order type and whether it has already triggered. A limit order that is still waiting can usually be changed or cancelled from the platform. A market order cannot be cancelled because it fills straight away. A stop order can be changed while it is dormant, but once price touches the trigger it becomes a market order and you cannot stop it. Check your platform's rules, as they vary between brokers.
What happens if my limit order is only partly filled?
A limit order can fill in parts if there is not enough volume at your price. You might get some of your position at your price and the rest later, or not at all. The unfilled part stays active unless you cancel it. Partial fills are more common on less liquid instruments or at busy times. Your broker's platform will show the filled and remaining amounts.
Does a stop order always fill at the price I set?
No. The price you set is a trigger, not a promise. Once triggered, the order becomes a market order and fills at the next available price. If the market jumps past your level, the fill can be worse. This is called slippage. It can happen on any order that uses a market fill.
Can I place an order outside of market hours?
You can usually place an order when the market is closed, but it will not trigger until trading opens. The price you see may be the last traded price, not a live one. When the market opens, price can gap away from that level. Your order may then fill at a very different price. Check your broker's trading hours for USD/ZAR.
What is the difference between a stop order and a stop-limit order?
A stop order triggers a market order once price reaches your level. A stop-limit order triggers a limit order instead. That means after the trigger, your order will only fill at your chosen limit price or better. It gives you more control over the fill price, but it may not fill at all if price moves away. Not all brokers offer stop-limit orders.
Do I pay anything for placing an order that never fills?
Some brokers charge no fee for an unfilled order, while others may charge a small fee or none at all. The main cost is that your money may be held aside for the order, so you cannot use it elsewhere. If the order never fills, you have lost nothing except the opportunity to use that money. Fees vary between brokers, so check the fee schedule.
The words used on this page
- market order
- An instruction to trade at the best price available right now. You do not name a price. The fill can differ from the price you saw.
- limit order
- An order that names a price better than the current market. A buy limit sits below the market and waits. It only fills if price reaches your level.
- stop order
- An order that names a price worse than the current market. It stays dormant until price touches that level, then becomes a market order.
- slippage
- The gap between the price you saw and the price you get. It happens when prices move between the moment you click and the moment the order reaches the broker.
- trigger price
- The level that activates a stop order. It is not a promise of the fill price. Once triggered, the order fills at the next available price.
- pip
- A small unit of price movement. On USD/ZAR, one pip is 0.0001. On 0.10 lots, one pip is about R0.10.
What to take away
- A market order takes the price on screen now, but the fill can be a few pips away.
- A limit order waits for a better price and may never fill, tying up your money while it waits.
- A stop order triggers at a worse price and then fills as a market order, so the trigger is not the fill.
- Decide the price first, then pick the order type that matches it.