Normal execution speed for my MT5 terminal is 50-100 ms. To test this execution speed in strategy tester should I test within this range, or should I calculate with half the time?
Reason for my question is the notion that half of the reported is time from order being placed by my terminal to order being filled at brokers server, second half is of the time is for the brokers server to confirm back to my terminal (I might be wrong).
This is the one way ping time i guess
Actually you should use a test delay that is greater than the maximum ping. The ping time is only accounting for network latency. It does not include the order execution and filling delay.
I would suggest testing at various delay values, but always higher than the maximum ping time, so as to evaluate how your EA will handle periods of slow response times.
My ping is 3-5 ms, execution time on actual trades is usually in the range of 50-100 ms. My questions is concerning how to replicate those conditions in strategy tester. Should I use my actual execution time, or half my execution tim ("one way ping")?
As I stated, test for all those variations so that you know that your EA is able to handle even the worst case scenario.
So, I would test for 50ms, 100ms, 200ms, 400ms, 800ms, 1600ms, etc. and see how much your EA can tolerate.
"Hope for the best, but prepare for the worst."
Thank you for your reply, but I am not quite sure we are on the same page. I am in the process of optimizing an EA, during optimizing I will use the "normal" execution time for my terminal, I can not do optimizing for 50ms, 100ms, 200ms, 400ms, 800ms, 1600ms, etc
Then I would personally optimise for one of the longer delays 100ms or 200ms, and then back-test the final parameters against the other delays and see if it holds up.
In theory, if you optimise for a longer delay, it should work better for the shorter delays, but it depends somewhat on the strategy being used.
In my own EAs I try to incorporate as many techniques as possible that will let the EA adapt to market conditions and not depend so much on optimised parameters, like using volatility based stops, checking spreads, adjusting for slippage, etc.
It is not always possible to get the best parameters just by relying on optimisation. There are just to many variables at play when trading live and with real money that a back-test or optimisation can account for.
Use back-testing and optimisation, as an analyses tool to see how well your EA can hold up to bad situations and not so much so as to decide on the best parameters to use for live trading.