In the past two months, Abbey 24 EAs portfolio has done really well for trading the AUDUSD (1,480 pips) and EURUSD (2,494 pips) but not so hot with other currency pairs. In this post, we will be comparing the EURUSD live and the back testing results of the Abbey 24 EAs Portfolio. You can follow and perform the same tests by downloading the EA from the link below:
https://www.mql5.com/en/market/product/12965
As you know, that there are three different models to backtest your MT4 strategies. The three models are Open Prices, Control Points, and Every tick and the trend in the past few years is toward Every tick backtesting. If you don't have an Intel 7 CPU, you will find that tick testing is extremely painful for more than 10 years backtesting. It is as fun as watching paints dry. Before wasting our time with each different model of backtesting, we need to benchmark the accuracy of our MT4 trading platform. Since Build 600, I have noticed that the accuracy of the MT4 backtesting has improved significantly. Before we begin, we need to ask ourselves a few questions:
* What is considered as accurate backtesting results?
* How do we benchmark the accuracy of the MT4 platform?
* What model should we select?
* Do you want the results within 2 minutes using Open Prices or wait eight hours with Every tick testing?
There are no right or wrong answers since the ultimate decision is up to you. Here is what I have done to speed up my backtesting and I am comparing the live and backtesting results to back up my methodology.
Step 1. Perform Search and Replace the "iClose" with "iOpen" in your MQL4 code
Step 2. Avoid Using iClose in all future expert advisor developments
Step 3. Perform backtesting using Open Prices Model.
Below are the live and backtesting results of 20 trades of the EURUSD from October 8, 2015 to November 3, 2015. I have highlighted the backtesting results in salmon color and the actual trade in real time from the Abbey 24 EAs Portfolio is on the line below it.
2015.10.08 15:00 | sell | 0.1 | backtesting | 1.12774 | 1.15374 | 1.10574 | 2015.10.13 02:00 | close | 1.13589 | 1.15374 | 1.10574 | -81.36 | |
2015.10.08 15:00:00 | sell | 0.1 | eurusd RT Trades | 1.12775 | 1.15375 | 1.10575 | 2015.10.13 02:00:11 | 1.1358 | 0.03 | -80.1 | -80.07 | ||
2015.10.13 03:00 | sell | 0.1 | backtesting | 1.13515 | 1.14515 | 1.10515 | 2015.10.14 21:15 | s/l | 1.14515 | 1.14515 | 1.10515 | -99.95 | |
2015.10.13 03:00:01 | sell | 0.1 | eurusd RT Trades | 1.13514 | 1.14514 | 1.10514 | 2015.10.14 21:06:18 | 1.1451 | -0.01 | -100 | -100.01 | ||
2015.10.13 06:00 | buy | 0.1 | backtesting | 1.1364 | 1.1224 | 1.1464 | 2015.10.14 21:15 | t/p | 1.1464 | 1.1224 | 1.1464 | 99.54 | |
2015.10.13 06:00:01 | buy | 0.1 | eurusd RT Trades | 1.13621 | 1.12221 | 1.14621 | 2015.10.14 21:09:49 | 1.1462 | -0.19 | 100 | 99.81 | ||
2015.10.13 06:00 | buy | 0.1 | backtesting | 1.1364 | 1.1224 | 1.1474 | 2015.10.14 22:00 | t/p | 1.1474 | 1.1224 | 1.1474 | 109.54 | |
2015.10.13 06:00:01 | buy | 0.1 | eurusd RT Trades | 1.1362 | 1.1222 | 1.1472 | 2015.10.14 21:30:32 | 1.1472 | -0.19 | 110.2 | 110.01 | ||
2015.10.13 15:00 | sell | 0.1 | backtesting | 1.13759 | 1.16359 | 1.11559 | 2015.10.15 18:00 | close | 1.13875 | 1.16359 | 1.11559 | -11.41 | |
2015.10.13 15:00:00 | sell | 0.1 | eurusd RT Trades | 1.13756 | 1.16356 | 1.11556 | 2015.10.15 18:00:02 | 1.1385 | -0.05 | -9.6 | -9.65 | ||
2015.10.15 11:00 | sell | 0.1 | backtesting | 1.14372 | 1.15372 | 1.11372 | 2015.10.20 11:00 | close | 1.13499 | 1.15372 | 1.11372 | 87.44 | |
2015.10.15 11:00:06 | sell | 0.1 | eurusd RT Trades | 1.14365 | 1.15365 | 1.11365 | 2015.10.20 11:00:00 | 1.1348 | 0.09 | 88.2 | 88.29 | ||
2015.10.16 17:00 | buy | 0.1 | backtesting | 1.13794 | 1.10794 | 1.16394 | 2015.10.20 17:00 | close | 1.13489 | 1.10794 | 1.16394 | -31.41 | |
2015.10.16 17:00:00 | buy | 0.1 | eurusd RT Trades | 1.13744 | 1.10744 | 1.16344 | 2015.10.20 17:00:02 | 1.1349 | -0.38 | -25.8 | -26.18 | ||
2015.10.20 17:00 | sell | 0.1 | backtesting | 1.13489 | 1.16089 | 1.11289 | 2015.10.22 03:00 | close | 1.13485 | 1.16089 | 1.11289 | 0.59 | |
2015.10.20 17:00:31 | sell | 0.1 | eurusd RT Trades | 1.13486 | 1.16086 | 1.11286 | 2015.10.22 03:00:00 | 1.1347 | 0.21 | 1.9 | 2.11 | ||
2015.10.15 19:00 | buy | 0.1 | backtesting | 1.14203 | 1.12803 | 1.15303 | 2015.10.22 15:30 | s/l | 1.12803 | 1.12803 | 1.15303 | -143.2 | |
2015.10.15 19:00:32 | buy | 0.1 | eurusd RT Trades | 1.14165 | 1.12765 | 1.15265 | 2015.10.22 15:29:15 | 1.1276 | -1.34 | -140.1 | -141.44 | ||
2015.10.15 19:00 | buy | 0.1 | backtesting | 1.14203 | 1.12803 | 1.15203 | 2015.10.22 15:30 | s/l | 1.12803 | 1.12803 | 1.15203 | -143.2 | |
2015.10.15 19:00:32 | buy | 0.1 | eurusd RT Trades | 1.14165 | 1.12765 | 1.15165 | 2015.10.22 15:29:15 | 1.1276 | -1.34 | -140.1 | -141.44 | ||
2015.10.20 18:00 | sell | 0.1 | backtesting | 1.13417 | 1.16417 | 1.10817 | 2015.10.23 00:45 | t/p | 1.10817 | 1.16417 | 1.10817 | 260.24 | |
2015.10.20 18:00:00 | sell | 0.1 | eurusd RT Trades | 1.1341 | 1.1641 | 1.1081 | 2015.10.23 00:39:40 | 1.1081 | 0.26 | 260.1 | 260.36 | ||
2015.10.21 13:00 | sell | 0.1 | backtesting | 1.13517 | 1.14517 | 1.10517 | 2015.10.23 15:45 | t/p | 1.10517 | 1.14517 | 1.10517 | 300.19 | |
2015.10.21 13:00:01 | sell | 0.1 | eurusd RT Trades | 1.13515 | 1.14515 | 1.10515 | 2015.10.23 15:29:17 | 1.1051 | 0.21 | 300.1 | 300.31 | ||
2015.10.28 15:00 | sell | 0.1 | backtesting | 1.10877 | 1.12277 | 1.09777 | 2015.10.28 20:15 | t/p | 1.09777 | 1.12277 | 1.09777 | 110 | |
2015.10.28 15:00:00 | sell | 0.1 | eurusd RT Trades | 1.10875 | 1.12275 | 1.09775 | 2015.10.28 20:03:16 | 1.0978 | 0 | 110 | 110 | ||
2015.10.28 15:00 | sell | 0.1 | backtesting | 1.10877 | 1.12277 | 1.09877 | 2015.10.28 20:15 | t/p | 1.09877 | 1.12277 | 1.09877 | 100 | |
2015.10.28 15:00:01 | sell | 0.1 | eurusd RT Trades | 1.10874 | 1.12274 | 1.09874 | 2015.10.28 20:02:30 | 1.0987 | 0 | 100.3 | 100.3 | ||
2015.10.26 22:00 | sell | 0.1 | backtesting | 1.10504 | 1.13504 | 1.07904 | 2015.10.29 12:00 | close | 1.09657 | 1.13504 | 1.07904 | 84.94 | |
2015.10.26 22:00:00 | sell | 0.1 | eurusd RT Trades | 1.10501 | 1.13501 | 1.07901 | 2015.10.29 12:00:00 | 1.0964 | 0.16 | 86 | 86.16 | ||
2015.10.28 21:00 | sell | 0.1 | backtesting | 1.09006 | 1.10406 | 1.08006 | 2015.10.29 22:00 | close | 1.09789 | 1.10406 | 1.08006 | -78.16 | |
2015.10.28 21:00:01 | sell | 0.1 | eurusd RT Trades | 1.08994 | 1.10394 | 1.07994 | 2015.10.29 22:00:00 | 1.0977 | 0.1 | -77.9 | -77.8 | ||
2015.10.28 21:00 | sell | 0.1 | backtesting | 1.09006 | 1.10006 | 1.06006 | 2015.10.29 22:00 | close | 1.09789 | 1.10006 | 1.06006 | -78.16 | |
2015.10.28 21:00:02 | sell | 0.1 | eurusd RT Trades | 1.08997 | 1.09997 | 1.05997 | 2015.10.29 22:00:01 | 1.0977 | 0.1 | -77.4 | -77.3 | ||
2015.10.28 21:00 | sell | 0.1 | backtesting | 1.09006 | 1.10406 | 1.07906 | 2015.10.30 15:45 | s/l | 1.10406 | 1.10406 | 1.07906 | -139.8 | |
2015.10.28 21:00:00 | sell | 0.1 | eurusd RT Trades | 1.09 | 1.104 | 1.079 | 2015.10.30 15:34:24 | 1.104 | 0.13 | -140 | -139.87 | ||
2015.10.26 22:00 | sell | 0.1 | backtesting | 1.10504 | 1.13104 | 1.08304 | 2015.11.03 22:00 | close | 1.09668 | 1.13104 | 1.08304 | 83.98 | |
2015.11.02 18:00:01 | sell | 0.1 | eurusd RT Trades | 1.10345 | 1.11745 | 1.09345 | 2015.11.03 22:00:00 | 1.0965 | -0.01 | 69.6 | 69.59 | ||
2015.11.02 18:00 | sell | 0.1 | backtesting | 1.10351 | 1.11751 | 1.09251 | 2015.11.03 22:00 | close | 1.09668 | 1.11751 | 1.09251 | 68.35 | |
2015.11.02 18:00:01 | sell | 0.1 | eurusd RT Trades | 1.10345 | 1.11745 | 1.09245 | 2015.11.03 22:00:00 | 1.0965 | -0.01 | 69.6 | 69.59 | ||
502.77 | 498.15 |
From reviewing the first 20 trades, I am quite impressed with the MT4 platform. 19 of our 20 trades entered exactly per the MT4 backtesting vs. it trades in real time. For the exit date and time, 20 of our 20 trades matched within 15 minutes accuracy. This is understandable because we tested the EA with a period setting of 15 minutes. When we sum up all the 20 trades, we notice less than $5 discrepancy between the MT4 backtesting ($498.15) vs. its trades in real time including swap ($502.77). Prior to Build 600, I was only getting 5 to 6 trades to match up for every 20 trades.
To be more scientific, we will be comparing more than 60 trades of the EURUSD over the past two-month period. For now, you can download our Abbey 24 EAs portfolio if you are trading AUDUSD, GBPUSD, EURUSD, EURJPY, and GBPJPY.
https://www.mql5.com/en/market/product/12965