How to backtest using tick data – the free Birt’s patch script
If you’re at this step, this should be rather straightforward. The script removes the 2GB limitation that Metatrader 4 has with FXT files and also disables overwriting existing FXT files, which effectively allows the usage of pre-created tick data FXT files.
This guide is split into two sections:
Using the Birt’s patch script
Before getting started with the script, it’s very important to know that there are some limitations and that there is no support available whatsoever. If you need technical support or if you want an easier experience, you should check out the Tick Data Suite. A free trial is available.
- If you are using MT4 build 405 or higher and you want the 2GB limitation removal feature, download and install the Microsoft Visual C++ 10 runtime available on the tick data downloads page in the Runtimes section.
- Download the latest version of the Birt’s patch script from the tick data downloads page.
- Install the script in your Metatrader 4 installation folder (Birt’s patch.mq4 should end up in
- Open any chart you wish on any timeframe.
- Make sure that DLL calls are allowed. If you don’t know how to do that, you have to open the Tools menu, select Options, select Expert Advisors and ensure that Allow DLL imports is enabled while Confirm DLL function calls is disabled.
- Double click Birt’s patch in your navigator window in the scripts section.
- Configure the parameters as you want. The defaults are fine unless you have an FXT with real spread, in which case you must enable that parameter.
Note: once real spread is enabled, your backtests will ONLY work with variable spread FXT files and if you want to perform a backtest with regular fixed spread you have to restart your MT4 terminal.
- Select the currency pair and timeframe that you created the FXT for.
- Start the backtest!
Most of the issues described below do not apply to the Tick Data Suite.
- You cannot run optimizations (trying to do so will result in a crash for builds 405+).
- The script does not work with third party tools such as the Walk Forward Analyzer.
- You must run the script manually every time you restart Metatrader 4.
- The 2GB limitation removal is only available for Metatrader build 405 and up if you install the Microsoft Visual C++ runtime (download link available on the tick data downloads page). For previous builds, it is available only for select operating systems (Windows Vista, Windows 7, Windows Server 2008).
- FXT files larger than 4GB will only be read up to 4GB.
- Running a backtest before starting the script, proceeding with running the script and then starting another backtest will result in a crash.
- You have to manually enable real spread and you have to restart the terminal if you no longer want to use real spread.
- As stated above, there is no support. You have to make do with the older comments on the tick data page and with the troubleshooting section on the Tick data backtesting page.