In most interfaces the order type sits there as a small tab, and people assume the three do the same job. They do not. The difference gathers into one sentence: a market order guarantees the fill, a limit order guarantees the price, and neither one guarantees both.
Market order: the price is free
A market order says “buy this quantity now” and says nothing at all about price. It fills against the order book starting from the best opposing price and working outward.
In a liquid market that gap is negligible. In a thin book the order itself moves the price, and the average fill lands noticeably away from what you saw on screen. That is precisely what slippage is.
A market order is the right tool in two cases: when you have to leave a position immediately, and when your size is small next to the depth of the book.
Limit order: the fill is free
A limit order sets a ceiling or a floor. It says “buy at this price or better”, and if the price never gets there it never fills.
What it buys you is clear. You know the worst price you will pay in advance and slippage disappears. In exchange you take on a risk: the market moves away without coming back to your price and you never enter the position at all.
Partial fills start here too. If only part of the opposing side sits at your limit price, part of the order fills and the rest waits in the book.
A stop order: one trigger, one order
A stop is less an order type than a trigger. When price reaches the level you set, the exchange sends an order on your behalf, and what that order is written in the second half of the name.
Stop-market. On trigger, a market order goes out. It guarantees the exit and not the price. In a fast falling market the fill can land well below the stop level.
Stop-limit. On trigger, a limit order goes out. It guarantees the price and not the exit. If the market passes below your limit and keeps going, the order hangs in the book and the position stays open.
Choosing between the two is not a matter of taste but a risk decision: would you rather accept a bad price, or risk not getting out?
The stop-limit trap
Most people using stop-limit put the trigger and the limit at the same price. On paper that looks sensible. In practice, when price crosses that level quickly the order never fills and what you thought was protection turns out to be nothing.
A practical rule: place the limit somewhat below the trigger. The distance comes from how far the asset normally moves in a minute.
Which one a bot uses
When entry orders are limits, cost drops and the strategy runs at the price it planned for. For exits the question is sharper.
For risk-cutting exits, stop-market is preferred, because the aim there is leaving the position rather than getting a price. For profit-taking exits a limit fits, because nothing is urgent.
Mixing the two up is one of the most common reasons a backtest and a live result part company.



