How to backtest using tick data – the Tick Data Suite guide

This guide assumes that you already downloaded your tick data and processed it into an FXT file and several HST files, all of which were copied in the proper locations. If you haven’t completed the steps above, please visit the How to download free tick data and the How to prepare your tick data for Metatrader 4 guides.

First of all, you have to use the Tick Data Suite installer (available on the tick data downloads page). After the install process is finished, it will automatically run the Configuration tool; you should use this opportunity to install the Tick Data Suite in the Metatrader 4 folders that you want to use it with by using the Select Path button, navigating to the path of your choice and finally pressing the Copy TDS button which will activate the Tick Data Suite with the selected terminal and will prompt you about the placement of an icon on the desktop for easier access.

Once the Tick Data Suite was installed, all you have to do is start it Metatrader 4 via the desktop icon or simply double click tds.exe in the Metatrader 4 folder. That’s all there is to it, really. It will start your Metatrader 4 terminal and all the features will be enabled: there will no longer be a 2 GB limitation, FXT files will not get overwritten, variable spread FXT files will automatically get detected and tick data backtests and optimizations will work (assuming you are using tick data FXT files).

Multiple Metatrader 4 installations

If at a later time you wish to use the Tick Data Suite with a different Metatrader 4 terminal on the same computer, simply execute the Configuration program (located in Tick Data Suite in your Start Menu Programs folder) and repeat the process outlined above: select the path of the Metatrader 4 terminal that you want to use it with and click Copy TDS. Once you’re done with that, in order to start the selected Metatrader 4 terminal with tick data operation enabled you can either use the desktop shortcut (if you chose to create one) or you can navigate to its folder and double click tds.exe.

3rd party software

What is a bit more tricky is using the Tick Data Suite with 3rd party products which assume they have to open terminal.exe. If you run into such a product, you have to rename the original terminal.exe to one of the following:

  • terminal.bak.exe
  • mt4.exe
  • terminal_.exe

then you have to rename tds.exe to terminal.exe. Since command line parameters are seamlessly passed, any 3rd party product should work without problems. The Walk Forward Analyzer author was gracious enough to add a simple checkbox that allows using the Tick Data Suite even without having to rename.

Potential issues with 3rd party software

When using 3rd party tools that automate backtesting and optimization, some problems may come up with EAs that require a connection to the broker even when they are running in a backtest, for example Wallstreet Forex Robot or FAP Turbo. This is caused by the fact that the backtest/optimization are starting too fast since the data is already there. You will know you’ve run into this problem if your EA works fine with the 3rd party tool of your choice with history center data, but refuses to trade when you’re using tick data; it’s typical for EAs that authenticate the account number with their server. There is a workaround for this issue that involves increasing the backtest start delay via the Configuration program – just set it to something like 3 and you should be fine.

  • #1 written by San4x March 10, 2012 (2 months ago)

    Hi Birt,

    Excellent new section…and very nice tool (tds.exe).
    Great work, congratulations.

    Cheers, San.

  • #2 written by John Hunter March 19, 2012 (1 month ago)

    Hey Birt,

    I’ve just gotta say you have done an incredible job of turning a very complex process into something that is almost push-button.

    Well done!

    • #3 written by birt March 20, 2012 (1 month ago)

      Actually it’s pretty far from push-button, what with having to download and process the data plus copy the files, but I’m glad the process doesn’t seem complicated to you :)

  • #4 written by Benjamin April 23, 2012 (3 weeks ago)

    Hey Birt,

    your tds is an awesome tool, great job :)
    For v1.08 you may consider the following two options
    a) integrate a button which converts unprofitable EAs into some kind of an endless ATM
    b) integrate a feature which allows to backtest and optimize brokers with fixed commissions (e.g. my broker gets 0.5EUR per 0.1 Lot; 1EUR for 0.2 Lot, 1.5EUR for 0.3 Lot aso)
    is this even possible? aren’t there any other guys requesting this?

    Benjamin

    • #5 written by birt April 24, 2012 (3 weeks ago)

      Glad you liked it! :)

      a) Uhm, yeah, I wish I could. On the same topic, a feature was planned for v1.0.8 that would credit the user’s Paypal account with $10000 each time it was pressed but it will not make it in due to technical issues (“Error: insufficient funds”).

      b) You can already simulate that indirectly by using a pip-based commission and calculating the pip value for 1 lot versus the EUR value, converting to USD (or whatever the account base currency is) and multiplying by your commission with the drawback that the EURUSD exchange rate at which the commission is calculated would be constant during the backtest. Adding the option for money commission to CSV2FXT is not such a good idea because I already get enough questions about it as it is and it would only serve to further confuse people. You can easily change it by editing FXTHeader.mqh and replacing COMM_TYPE_PIPS with COMM_TYPE_MONEY around line 88 and recompiling CSV2FXT afterwards. Note that if you do that, the commission parameter in CSV2FXT will no longer be expressed in pips, but in money using the base account currency.

  • You may use these HTML tags: <a> <abbr> <acronym> <b> <blockquote> <cite> <code> <del> <em> <i> <q> <strike> <strong>

     

  • Comment Feed for this Post
Go to Top