IC Markets

Logging real slippage on market orders (MT5 + a dumb Python script)

Compare ECN/Raw spread brokers, analyze execution speeds, report slippage, and evaluate commission structures for high-frequency traders.
Post Reply
LondonScalper
Posts: 10
Joined: Sat Sep 05, 2026 7:54 am

Logging real slippage on market orders (MT5 + a dumb Python script)

Post by LondonScalper »

Broker comparison threads love screenshots of "0.0 spread." Cool. Show me your **slippage distribution** on market orders during London open and I'll care.

I got tired of vibes, so I log every scalp fill:

- Requested price (tick at send)
- Fill price
- Symbol, side, size
- Server time + local VPS time
- Spread at send
- Comment tag (session: london_open / overlap / news)

MT5 deal history gives you most of this if you pull it via Python (`MetaTrader5` package) after the session. I dump CSV, then a 30-line pandas script: mean/median/p95 slippage in points, split by hour.

**Ugly truths from doing this:**
- Average slippage can look fine while p95 ruins your expectancy on the days that matter.
- Some brokers are saints at 10:00 and monsters at 08:05.
- "Raw account" does not automatically mean honest fills when liquidity is thin.

I'm not naming-and-shaming in the OP on purpose — numbers first, brand wars second. If you've got a clean method (or better fields I should log), pile on.

What slippage stats do you actually track — average only, or percentiles?
Anyone logging slippage live via deal listener instead of end-of-day export?
Does your broker look different on EURUSD vs XAUUSD under the same logging?
Post Reply