Tracking slippage in MT5 using the deal history export
Posted: Tue Oct 20, 2026 8:03 pm
MT5 keeps every order and deal in its history. With a bit of work, this becomes a slippage tracker.
In MT5, orders and deals are separate:
- An order is your instruction (with requested price for pending orders and stop loss/take profit).
- A deal is the execution (with actual fill price).
For stops and pending orders, comparing order price to deal price gives slippage directly.
Steps:
1. History tab → right-click → "Orders and Deals".
2. Export as report (HTML or XLSX).
3. Match orders to deals by order ticket.
4. Slippage (pips) = (deal price - order price) / pip size, signed so that negative means worse for you.
Then analyse:
- Average and distribution by symbol.
- By hour of day.
- By order type: SL, TP, buy stop, sell limit, etc.
TP fills on limit orders should show zero or positive slippage. SL fills on stop orders are where negative slippage appears.
Does anyone automate this with a script rather than manual export? Would be interesting to compare approaches.
In MT5, orders and deals are separate:
- An order is your instruction (with requested price for pending orders and stop loss/take profit).
- A deal is the execution (with actual fill price).
For stops and pending orders, comparing order price to deal price gives slippage directly.
Steps:
1. History tab → right-click → "Orders and Deals".
2. Export as report (HTML or XLSX).
3. Match orders to deals by order ticket.
4. Slippage (pips) = (deal price - order price) / pip size, signed so that negative means worse for you.
Then analyse:
- Average and distribution by symbol.
- By hour of day.
- By order type: SL, TP, buy stop, sell limit, etc.
TP fills on limit orders should show zero or positive slippage. SL fills on stop orders are where negative slippage appears.
Does anyone automate this with a script rather than manual export? Would be interesting to compare approaches.