What "Market price" though because there are many.
- Last traded price - the price for the last complete trade
- Bid price - the current highest price that someone is wiling to buy for that has not been settled
- Offer price - the current lowest price that someone is willing to sell for that has not been settled
- Mid price - average of the bid and offer prices
- And if you are looking at the free pricing, most of these are displayed as they were 15 minutes ago rather than current
Of all those prices, only the current bid and offer prices are actually tradeable so it's actually impossible to buy at the mid price which is often what is quoted as market price. And if last traded price is quoted as market price then it may be possible to trade at it but only in 1 direction (only buy or only sell, not both) and even that is only in certain circumstances.
The spread between last traded or mid price (both are often referred to as market price) and what you can actually buy or sell for right now can be quite large depending on the specific instrument and how many other people want to buy or sell. This effect is exaggerated by using 15 minute delayed pricing.
Additionally, as far as I know, EE executes trades at current ruling bid or offer prices depending on whether you are buying or selling and you can't set the price you want. For example:
- You want to buy 200 shares of X
- X's 15 minute delayed market price is R50
- Current offers are 100 shares at R51 and 200 shares at R52
- EE will execute 100 shares at R51 and another 100 shares at R52 giving you an average price of R51.50 for your 200 shares even though the "market price" is R50. Then you need to add all the other costs like STRATE fees etc so it is quite likely that (even if EE take no spread) you can end up paying significantly more than "market price" depending on both the bid-offer spread as well as how much prices have moved since the 15 minute delayed market price that you are looking at.