Have the EA write the requested price at the time of OrderSend into the order comment. After the month, export the deals history to CSV and compare the deal price with the requested price.
Slippage in pips = (deal price minus requested price) multiplied by direction, divided by pip size. Positive means worse for you.
Useful outputs per month:
- Average slippage in pips.
- Share of fills at exactly the requested price.
- The worst 2% of fills and their timestamps. Check whether they cluster at news or 08:00, and how much of the total they account for.
If anyone has a cleaner way to store the requested price than the comment field, I'd like to hear it. The comment is limited in length and some brokers overwrite it.