Today I am reviewing and testing the new Tick Data Suite software version (or TDS for short). For those who do not know what Tick Data Suite is I would present it the following way.
Tick Data Suite is the only software on the market which allows you to back-test your Expert Advisors in MetaTrader 4 StrategyTester with variable spread and reach 99% modelling quality.
If you want to backtest your automated strategies (EA) and actually get real results that tell you full story, then you must use TDS.
Here’s how Birt, the creator of Tick Data Suite introduces the new software version:
Before we look at the new Tick Data Suite v2 I would like to mention that it is a major update. It was completely rewritten from scratch and it completely changes the way you work with tick data.
You no longer need to export CSV files, create FXT files and use a whole tool-chain for processing tick data – it is now all in a single place.
The tick data (for now, from Dukascopy and TrueFX) can be downloaded via the Tick Data Manager (TDM) which stores it in a proprietary compression format that not only provides better compression than anything else but it is also lightning fast.
Running a tick data backtest is now as easy as enabling the tick data checkbox in the backtest pane and clicking start. Make sure that your backtest pane is tall enough to see the checkbox, though – it should look something like this:
Now let’s take a look at a new Tick Data Suite v2 which is in BETA testing at the moment I am writing this blog post.
Top benefits of the new Tick Data Suite v2
- Do not need to use multiple tools to download, convert and export tick data.
- Tick data downloaded by Tick Data Manager takes less disk space.
- TDSv2 integrates directly into each and every MT4 terminal. Install once and access TDSv2 from Strategy Tester.
- Easily switch between time zones and DST settings without the need to re-download and re-convert the data.
- Many new features and parameters allows you to create custom backtest environments to match any broker settings.
- Powerful and easily adjustable custom spread and slippage parameters.
- Allows to run EA optimization in multiple MT4 terminals simultaneously.
- Backtests are much faster.
Tick Data Manager makes it all easy
As you already know the new TDSv2 comes with an additional computer application called Tick Data Manager (or TDM for short), which simply helps you to download history price data from Dukascopy or TrueFX. It also has many other features and options, but the best about TDM is that you no longer need to use the old CSV2FXT script (which was quite confusing for many people).
The new Tick Data Manager also use some magic file compression and makes your data files take at least two times less disk space than the original Dukascopy file format. Now that’s an improvement.
In the screenshot below you can see how TDM looks like. I am sure you will agree this is much easier to use than the old CSV2FXT script.
TDM gives you an option to download history price data for nearly any symbol from Dukascopy or TrueFX database. From currency pairs to Metals, Indices, Commodities and Stocks, I am sure you will find the data you’re looking for. If that’s not enough you will be able to add personalized tick data sources for custom data import (TDM says this feature is coming soon).
The main dashboard of TDM gives you a full list of available symbols and displays how many days of history data are currently downloaded for each of them.
TDM also allows you to manually import tick data downloaded by a different application (if it’s stored in the standard format). If you have downloaded history data by any of these applications you can import the data into TDM through SETTINGS:
- SQ Tick Downloader
- Birt’s PHP scripts
Configuring Tick Data Manager
Once I installed Tick Data Suite and launched Tick Data Manager (which obviously was installed with a TDS) I’ve noticed that all the data I download is stored into Repository at this path on my computer: C:\Users\%USERNAME%\AppData\Local\Tick Data Suite\
For the first thing I did is changed this path to D:\Tick Data 2016\ which is stored on my external hard drive. This is the place where I keep all the files and software related to strategy creation, backtesting, etc. Obviously this is an optional thing to do.
But if you are going to set a custom Repository path let me give you a few tips.
To move Repository to another disk/folder on your computer you will have to complete these steps.
STEP #1: Open SETTINGS window and choose new Repository path.
STEP #2: Move all the data from the old repository to the newly selected repository.
On a fresh installation this does not give you any effect, but if you already have history data downloaded and want it to be transferred to a new repository then answer YES here. Otherwise answer NO.
When TDM asks you to scan new repository just answer NO, because as it explains it is not necessary to do this if you are moving your data from the previous repository or if your folder is empty (you have fresh install of TDM).
After Repository path is changed and data has been moved you can click OK to close the SETTINGS window and you’re done.
Downloading history price data with Tick Data Manager
To download history data in TDM you need to complete these steps:
STEP #1: Choose date range and start download
Click the three dots button next to the symbol you want to download history data for and choose “Start date” and “End date”.
In this example I’ve selected to download price data from 1st of January 2016 until 20th of September 2016. It will be enough for testing 🙂
STEP #2: Click “Start download” and wait patiently …
In the picture above you can see TDM is downloading EURUSD data and shows its progress as well as total size on disk already downloaded.
You can also queue more downloads for other symbols by repeating STEP #1 and clicking “Queue download” like in the image below.
This is very useful as you can queue as many downloads as you need and just leave your computer to run and finish the task.
In case you want to pause/resume, delete or change order of your download tasks you can do that using pop-up menu when clicking right-mouse button on a particular task.
Backtesting EA using the new Tick Data Suite
It is much easier to use Tick Data Suite v2 now as its settings is accessible directly from the StrategyTester window in MT4 terminal.
Image below shows how easy it is to access TDS settings before you run backtest.
Once you open MT4 Strategy Tester from the top menu “View -> Strategy Tester” (or Ctrl+R) all you need to do to backtest using 99% modelling quality is to:
STEP #1: Check “Use tick data” and set your desired settings by clicking “Tick data settings” button
This is how you enable the use of TDS application during a backtest. No longer need to launch MT4 using special TDS helper app, because now each and every MT4 terminal you will use on your computer will have TDS integrated automatically. And the best part about it is that it integrated without slowing down your MT4 or making it vulnerable to errors. Birt really knows how to build apps professionally without negative affect on MT4.
STEP #2: Select “Every tick” as your back-testing model.
MT4 describes “Every tick” as the most precise method based on all available least timeframes to generate each tick, but because we have TDS enabled MT4 will use history price data we’ve just downloaded using Tick Data Manager. And as you already know that’s the most accurate history price data on the market available for free. This also allows you to have custom settings for backtesting environment.
STEP #3: Click “Start” to begin backtest
Not much to explain here. Just be patient, because backtests can take quite long to complete. This depends on how fast your computer is, how long the date range of your backtest is and how well your EA is created. Some EAs are created to be very speed efficient while others need code optimization to run faster.
For this example test I use Hedge EA Advanced and before I click START I make sure the right EA is selected and it has the right settings configured in the “Expert properties” window.
STEP #4: Check backtesting modelling quality
After your backtest is completed make sure you check REPORT tab for backtesting quality. It should say 99% and show report zero mismatch errors. This means your backtest is as accurate as it can be.
Tick Data settings
Let’s look at Tick Data settings and how much control you have for each backtest you run. Birt really did a great job adding so many features in the new TDS v2.
Obviously you won’t need some of these parameters, but having so many options TDS becomes most powerful MT4 backtesting companion on the market.
Image above shows basic tick data settings. Make sure that Symbol in here matches the Symbol in the Strategy Tester window too.
TDS also allows you to select GMT offset and DST settings. Now it’s much more easier than before. This improvement alone is worth much more than the price of TDS. It makes backtesting on different time zones so easy.
If you want to use variable spread during your test then you enable it in this window by checking the “Use variable spread” box. Personally I think you should always variable spread, especially if your MT4 Expert Advisor is trading on every tick and/or use pending orders. Otherwise backtest results will not be accurate.
A variable spread means that TDS will make MT4 Strategy Tester use the real spread that have actually happened in the past. As you can see spread always changing in real time on your MT4 charts, this is actually also recorded into Dukascopy history data and TDS can use that information during backtest.
The next tab in the Tick Data settings is SPREAD. This is where you can modify how Spread should be handled during your backtest. TDS allows you to multiply spread by a certain number or have spread addition, minimum and maximum limits. This allows you to run spread robustness test on your EA by using much bigger spread that you might normally have during live trading.
These settings are available only if you have “Use variable spread enabled” in BASIC settings.
These settings are available only if you have “Enable slippage” in BASIC settings.
This is where you can control how TDS should simulate slippage during the backtest. It’s something that you should try during your backtests as it allows you to get results really close to the ones you would get during live trading. I know you cannot get exact same results as in live trading, because it’s a simulation after all, but adding slippage to your backtest makes your tests show EA trading capabilities even more accurately.
If you think that TDS has not enough settings for you then ADVANCED tab of this window will make you change your mind for sure.
This is where you can set advanced settings such as what leverage TDS should use during backtest, what commission fee it should add for each trade and implement lot size control as well.
As an MQL4 programmer I already see how useful it would be to set lot step to 0.1 and see how EA behaves. Many EAs might fail to open trades of 0.17 lot size if lot step is 0.1 and the EA is programmed incorrectly.
In the EXPERTS tab you can set even more settings for your backtest. This allows you to control what swap MT4 should use during backtest, what minimum price distance (Stops level) and freeze level should be used, etc.
I have never seen any software that allows you to set such parameters. This literally allows you to setup a backtesting environment to be exact as any of available MT4 broker.
And if you want to see how your EA behaves with different margin limitations then this is where you can set your custom Margin settings.
Symbol contract specifications
If you want to set your testing environment with custom symbol parameters from another broker, then you need to set these parameters in Margin and Expert sections exactly as they appear in “Symbol contract specification” table accessible through “Symbols” from “Market Watch“.
Each broker might have (and usually have) different specification for each symbol, so if you want your backtest to be as much accurate as possible and tailored to specific broker, then you need to set these parameters carefully in TDS to match with the broker.
If you won’t set these settings TDS will use default specifications of current symbol of the broker you are backtesting on.
The new Tick Data Suite v2 is the best backtesting companion I know and it’s the one I recommend to use if you need accurate backtesting. But also I want to remind that backtesting is just one piece of a puzzle. Even the most accurate and best looking backtest does not guarantee you that EA will continue to produce the same trading results in live markets. It’s not because backtest is not 100% accurate, but because no one can predict the future all the time in long term and things always change.
That’s why you need to look much more further into this and do robustness test for your strategies. Attend our webinar to learn more about robustness test and creating algorithmic trading strategies.
At the moment I wrote this article the new TDSv2 is available for testing for a chosen group of existing customers. If you already have TDS software and want to test the new version you can download TDSv2 here and use the same license key during the installation.
If you do not have it yet, then you can purchase TDS here.
So how do you like the new Tick Data Suite v2? Let me know in the comments below.