Filtering Economic Releases in Backtesting
A visitor to the site, Forex Trader brought up a very good question that I have considered. His question was:
Could you shed more light on how you handle major news releases in your
backtesting: do you leave them as is, or do you filter them out? If you
do filter them out how do you deal with the gaps?
I'm assuming that he considers the major US economic releases to be the "major news releases." The short answer to this question is no, I do not filter them out. I have not yet built this into the logic of the backtesting script. A majority of the entries though don't occur during a US major economic release but the entries that did were not filtered. I realize that because of this, the results are not totally realistic but it's really hard to simulate real world results in any backtesting script. I would have to go back to find out historically, when certain news releases occurred and then not register a trade during that particular time period.
The backtesting results I sent out yesterday do take the spread into account but certainly not slippage. My philosophy in backtesting is that I don't consider successful results the end all to putting a system into production with live money. I think that backtesting is very beneficial to finding out if a certain system should or should not be explored further. If this system showed terrible backtesting results with a big fat loss with 2 years of data, I might just move on to something different. The important step after backtesting is forward testing with a demo account to see if these "utopian results" can be obtained. The point is, I'm not looking for backtesting to give me the absolute true and realistic story because I don't think this is possible. I'm just looking for it to give me some indication of the viability of the trading system. Once you get intimately involved with your trading system by forward testing or by trading it live, you can come to a pretty good conclusion of its worth to you.
H-system backtesting
I've put together a basic backtesting script that doesn't take any fancy exits or stop loss adjustments into account but nevertheless, the results are interesting.
From January 2005 until yesterday, if I entered a 1 lot position here are the results for different limits and stop losses:
30 pip stop and 30 pip limit: 2820 pip profit
25 pip stop and 30 pip limit: 2705 pip profit
20 pip stop and 30 pip limit: 2210 pip profit
30 pip stop and 25 pip limit: 2580 pip profit
30 pip stop and 20 pip limit: 2290 pip profit
30 pip stop and 35 pip limit: 2395 pip profit
30 pip stop and 40 pip limit: 2580 pip profit
30 pip stop and 45 pip limit: 2130 pip profit
30 pip stop and 60 pip limit: 1860 pip profit
So the most profitable is the 30 pip stop and 30 pip limit but this is a 1:1 risk/reward. The least profitable is when setting the stop and limit to have a 1:2 risk/reward. The 1:2 backtest is still profitable so which one is the smartest to use? I'm not sure. Should you choose a trading system with a superior risk/reward over one without even though it has tested as less profitable? Once again, I don't know. I'll have to add some more advanced logic to the script to emulate my H-system rules.
Backtesting Data
I figured I'd mention this before I forget. I'm back to doing backtesting of a couple of strategies including the H-system in an attempt to find this tradeable on another currency pair other than the GBP/USD. I've been learning to do more backtesting via Metatrader but I still like writing my own PERL backtesting scripts because it gives me unlimited flexibility. Anyway, I stumbled upon Alpari's data bank which provides Daily and 1 minute data for multiple currency pairs dating back to June of 2004. It comes in multiple formats such as Metatrader, XPO, and Metastock so you can use it just about anywhere. You can find the data bank at http://www.alpari-idc.com/en/dc/databank.php

