How MT4 Calculates Spread and How to Manually Change it.

I no longer trade using Metatrader. I noticed users kept hitting an invalid link on my website to this search phrase. So the purpose of this post is to catch those invalid links related to Metatrader. I would recommend learning Python and custom developing your algorithms. It will be much more rewarding.

MT4 has a crude way of calculating the spread on each trade.  It basically takes the current market spread at the time you run your backtest and applies that to all of your trades.  Unfortunately, if someone is programming and testing on the weekends all of their results are going to be skewed because of the fact that the spreads on the weekend/after-hours are so high.  You can check the spread that your MT4 platform is going to use by clicking on the symbol properties button from within your tester.

If you want to statically set this variable for your backtest purposes you need to download spread changer.  It can be found here.

Using this utility is not exactly straightforward.  You need to find the file named Symbols.sel within your MT4 program files directory.  Once you find the Symbols.sel file drag and drop it onto the Spreadchanger.exe utility and it will allow you to modify it. 

The last step is you need to add a fake proxy server to your MT4 platform to trick it from accessing the internet.  Because if it can access the server it will over ride your setting.  You must also edit the symbols.sel file while your platform is closed.

Attached are zip files I had or that I was working on for Metatrader. I don’t know if they’re up to date, if they work, or support them in any form.