Spread Controller

Click here to download the Spread Controller

MT4's strategy tester uses the current live spread at the time a test is started. There are two serious problems with this approach:

  • Test results can vary significantly depending on the live spread when the test is started. Consecutive tests of the same strategy may yield very different results.
  • The results can be absurdly optimistic if the strategy is spread-sensitive, and the live spread is below average at the time the test is started.

The Spread Controller lets you set the spread used by MT4's strategy tester, with an absolute minimum of manual intervention.

The first step is simply to open a chart for the symbol you want to backtest, and run the Spread Controller script. After that, the Spread Controller software takes over the process of changing the spread and restarting MT4 in order to run strategy tests with the revised value:

  1. You enter the spread you want to use in backtesting. You can either type in a value manually, or download real historic averages and peaks from the spread data on this website.
  2. MT4 is then automatically restarted so that your choice of spread value is applied. The Spread Controller software prevents MT4 from reconnecting to the broker (because your spread would otherwise be overwritten by the current live value).
  3. Once you have finished your backtesting, you simply shut down MT4. The Spread Controller then restarts it with its usual settings, allowing it to reconnect to the broker as normal.

The spread data on this website helps you to determine sensible values for use in backtesting: either the average spread from your broker (e.g. during a specific session which your EA trades) or, if you want to be more cautious, worst-case spreads.