MT5 backtesting spread - page 2

[Deleted]  
This one bit me early on. The short version: if you're not using "Every tick based on real ticks" with variable spread, your backtest is telling you a fairy tale.

Fixed spread backtests hide the real cost of trading during the moments that matter most — news, session opens, rollover. I had an EA that was solidly profitable on fixed 10-point spread and turned into a slow bleeder when I switched to variable. All those trades that barely hit TP at fixed spread were actually getting eaten by spread widening.

My rule now: if results change dramatically between fixed and variable spread, the strategy is too spread-sensitive and probably won't survive live.
 
sentinelquantlabs #:
This one bit me early on. The short version: if you're not using "Every tick based on real ticks" with variable spread, your backtest is telling you a fairy tale.

Fixed spread backtests hide the real cost of trading during the moments that matter most — news, session opens, rollover. I had an EA that was solidly profitable on fixed 10-point spread and turned into a slow bleeder when I switched to variable. All those trades that barely hit TP at fixed spread were actually getting eaten by spread widening.

My rule now: if results change dramatically between fixed and variable spread, the strategy is too spread-sensitive and probably won't survive live.

The general idea regarding OHLC data and fixed spread is to backtest using your maximum spread for your trading times. This requires that you first calculate that maximum spread, and there are free utilities in the CodeBase for doing so. In my location, there are no FX broker-dealers having a max spread of 10 points. Futures brokers are a different story, of course.

I recently ran a 55 year OHLC backtest of my EA that trades on OHLC prices in that way and, unsurprisingly, live trading of that EA is turning out slightly better─live spreads are not always maxed out.

 
Ryan L Johnson #:

The general idea regarding OHLC data and fixed spread is to backtest using your maximum spread for your trading times. This requires that you first calculate that maximum spread, and there are free utilities in the CodeBase for doing so. In my location, there are no FX broker-dealers having a max spread of 10 points. Futures brokers are a different story, of course.

I recently ran a 55 year OHLC backtest of my EA that trades on OHLC prices in that way and, unsurprisingly, live trading of that EA is turning out slightly better─live spreads are not always maxed out.

wtf 55 years on what asset lol
 
Csquared #:
wtf 55 years on what asset lol

"Don't laugh. This ain't reality TV!" (The Departed, 2006).😂

The answer in short is the Fiber:

  • 1999 to present - EURUSD
  • 1979 to 1998 - ECU
  • 1975 to 1978 - EUA
  • 1971 to 1974 - ECS

Just set your max bars in chart in MT5 to unlimited, restart MT5, open a Fiber chart, and see for yourself.

On a more serious note, the length of a backtest isn't really a joke.😉

And the oldest historic data is spotty at best, so don't try to use it for tick data nor small bars. Custom charts can generate an approximate reconstruction.