You know that guy.
The one that everyone puts up with because he's good friends with the owners of the company.
You always have three excuses ready, not to eat lunch with him, and you wear your headphones all the time (with no music playing), so you hope that he won't bother you.
Well, that is how you should avoid these backtesting mistakes.
When you are backtesting your manual trading system, there are a few mistakes that traders commonly make. These mistakes can give you a distorted sense of how a trading system will perform in real life and and can lead to a lot of frustration.
Believe me, I have made all of these mistakes and it sucks! I want to help you avoid that pain.
So in this post, I'll give you the top nine Forex backtesting mistakes that traders make and how to avoid them.
Manual backtesting is the most effective Forex trading tool that I have ever seen. If you don't believe me, listen to these professional traders.
1. Not Writing Down and Following the System
If you want to be able to do something well, more than once, you need to have a defined process in place. That starts with writing down your trading system.
At a minimum, you need to write down these parameters:
- Strategy name
- Currency pair(s) to test on
- Indicators used, with settings
- Primary timeframe
- Entry signal
- Stop loss
- % Risk per trade
- Exit signal
There are some other optional parameters that I use, in addition to this list. If this list is good enough for you, then just use it as-is. But to download the complete worksheet that I use to map out every trading system that I'm going to test, go here.
Yes, it's free.
Remember, you cannot change the trading system in the middle of a test. You MUST follow the system as it is written, until you complete the entire data set that you are testing on.
Otherwise you will never know exactly how well that set of rules can work.
2. Giving Up Too Early
I used to do this all the time and maybe you do it too.
If I didn't make fifty zagillon percent within the first 5 years of backtesting data, I stopped the test and tried a different set of trading rules.
…or worse, I jumped to a completely new system.
Total Trading Silodrome Syndrome.
When you stop your test in the middle of the data, you never get a true understanding of the potential of the system.
Let's say that you have daily timeframe data on the EURUSD for 15 years. But you only make 30% over the first 5 years and quit.
Well, there are a couple of things that you could be missing out on…
The Markets Might Have Changed
First, your system could be wildly profitable over the last 10 years of data and you wouldn't know it because you didn't test until the end of the data set.
…or the opposite could be true.
Sometimes market conditions change and trading systems work really well during certain time periods and not so well during others.
The financial crisis of 2008 is a good example. Some trading strategies worked well before 2008, but not as well afterwards.
This is something that I see a lot in my testing. Certain trading strategies will do really well up until about July of 2009, then not as well afterwards.
Here's a cumulative graph (from TradingStats) of one the versions of a trading system that I'm testing. This is across about a dozen pairs.
It's still profitable, but not as profitable.
When you stop your testing in the middle, you will never know if the markets have changed.
So keep going!
You're Missing the Cumulative Result
Second, you won't understand the overall return, when you trade several currency pairs at the same time. Sure, you only made an average of 6% a year on your EURUSD test.
But what if you traded 20 currency pairs and averaged 6% per year on each?
That's potentially 120% a year!
Of course, there are limitations to backtesting, but a 120% per year backtesting result is a great place to start. From there, you can start forward testing to see how the system performs in current market conditions.
However, you would have never got to that point, if you were discouraged by only making 6% per year on one pair.
What if You are Daytrading?
Yeah, it would take forever to get through 5 minute data over 10 years. That's very discouraging in itself.
If you are testing a daytrading system, then pick a few time periods when you can “spot test” your trading system. For example, you could test in 3 month chunks.
You might test 10 of those chunks over the entire 10 year period. Just be sure to choose your chunks so they represent different market conditions.
You should look for:
- Volatile markets
- Quiet markets
- Trending markets
- Rangebound markets
By having good samples of different types of market conditions, you will gain a much better understanding of how robust your trading strategy is.
3. Not Tracking Your Results
Which brings me to why it is vital to track your results. You need to be able to see your total return across all currency pairs. Only looking at the results of one pair can be very discouraging.
But when you look at the total, things can get much more exciting.
For example, here are the results from one of my tests.
The results from this test were over a period of 16 years.
So if I had only looked at the results of the first test of the GBPUSD (arrow), I might have stopped testing this system altogether. However, since I am tracking the results of all of my tests, I am able to see that there is a total of 826.2% profit potential across all pairs.
That works out to be about a 51% return per year.
…and I haven't even finished testing all of the currency pairs yet.
Now you know why you need to have a spreadsheet to track your results.
This spreadsheet is just one of the many tools that you get inside the Trading Strategy Development Program. Join now to get full support from trading idea to going live.
4. Not Creating Version Numbers and…
Versioning is essential in software development. If there is a bug in the new code, the developers need to be able to go back to a version that works, and figure out what went wrong with the changes.
It's the same thing in manual backtesting.
You must create trading strategy version numbers, to understand exactly what is working and what isn't.
Then only change ONE thing about the system and create another version. If you change multiple parameters at the same time, you will never know exactly what worked.
For example, let's say that you changed three things about your trading strategy:
- Stop loss placement
- Entry signal
- First take profit level
Maybe #1 by itself would result in a 20% improvement. But #2 and #3 together, result in a 20% decrease in return.
So the net result looks almost exactly like the previous test you did. However, if you only changed one thing at a time, you would clearly see that you should use the new stop loss level and throw out the other changes.
5. Hindsight Bias
Are you cheating?
Are you moving past your entry to signal to peek at what will happen next?
This will certainly affect your results and make your trading system look much better than it actually is.
As human beings, we like to be correct. In school, we are taught that we need to get the right answer. We need to get a perfect score on the test.
But that actually works against us in backtesting.
The only way to get accurate results on a backtest is to test the system, as if you were trading it live.
Sure, for the sake of testing speed, it's OK if you overshoot by a couple of candles. However, be as honest about if you would have taken the trade or not.
That is the only way that backtesting will truly help you.
6. Using Dirty Forex Data
What is dirty data?
To put it simply, it's data that is not accurate. When you use dirty data, you are not testing your trading method on real data.
…and your results will be jacked.
There could be bad ticks, inaccurate timestamps, or other ways that the data could be bad. That's why I recommend starting with Forex Tester. Their free data is good and if you purchase their extended plan, you get access to data from 10 other brokers.
When you can compare the testing results from different brokers, that will give you even more confidence that your results are accurate and that you are using good data.
So stop rolling around in the mud and be sure that you have clean backtesting data.
7. Using Too Short of a Historical Backtesting Period
I see this one on the interwebs a lot.
People will publish backtesing results, but the test only includes three years of data. When I see this, they are either hiding something, or they don't understand how backtesting works.
The more historical data you have tested your strategy on, the more robust your method is. That means that it can handle many different types of market conditions and still come out profitable.
Obviously, it will be more profitable in certain types of markets than others. But you want to make sure that your system doesn't blow up your account when conditions are less than optimal.
So get as much historical data as possible and test the crap out of your system.
8. Going Too Slow
I've noticed that some traders analyze every single candle, regardless of it's a potential trade or not. It takes forever to get through a round of testing.
If this is you, then at some point, you will get frustrated and quit backtesting altogether.
So you need to get the lead out and figure out a way to optimize your speed.
I'm not saying that you have to be the fastest in the world at backtesting. However, you need to push yourself to find out what your optimal speed is.
Otherwise, you might give up our of boredom.
I can usually get about 25 backtesting trades in an hour. That's faster than some, but slower than others. It depends on the system, of course. But that's just to give you an idea of where I'm at.
Figure out your optimal speed and go Speed Racer, go.
9. Not Using the Testing Right Tools
When you don't use the right tools, it's really difficult to backtest efficiently. If you are serious about learning how to trade well, then you need to get a tool like Forex Tester.
Sure, you could use something like Metatrader 4 or TradingView to backtest your trading method. That is a very low cost way to start and can be fine for awhile.
You can actually backtest on any charting platform that has good historical data.
But that can be quite tedious and won't allow you to do many thing that will increase your productivity.
We teach both methods inside the Forex Trading Strategy Development Program (FTSDP). However, we do prefer using Forex Tester. We also recommend that you get their data plan, at least for one month, so you have access to all of the currency pairs.
Final Thoughts on Forex Backtesting Mistakes
There are a lot of things that can trip you up in manual Forex backtesting. But if you avoid these nine things, you will have a much, much better chance of success.
It can also be easy to start to geek out about every single detail…
- Am I using the right timezone?
- Does it matter if I use the NY or London close?
- Should I account for daylight savings time?
- What color should my charts be (yes, that's a real question from someone)?
These are minor details, when you are first starting out. Your primary goal should be to just get started, then figure out the details later.
I have found that doing the work really helps you separate the important questions from the ones that don't matter.
We teach manual backtesting of technical trading systems to sharpen your manual/discretionary trading skills. If you use fundamental data to trade, or you want to create automated systems, then we probably cannot help.
However, testing a manual system is a great way to start building an automated trading system. This is especially true if you are not a programmer.
To learn the entire process of taking a trading system from an idea, to testing it thoroughly, to trading it live, join the FTSD Program. It will teach you the entire process, in an easy-to-follow workflow. Full support is provided at every step along the way.
Learn more here.
Disclaimer: Some links on this page are affiliate links. We do make a commission if you purchase through these links, but it does not cost you anything extra and we only promote products and services that we wholeheartedly believe in. TradingHeroes.com is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com.