If you've heard of Forex backtesting, but always wondered what it is, why it's beneficial, or how to do it, then this guide is for you.
Backtesting has helped more traders become consistently profitable than any other training method I've seen.
I'll show you examples of successful traders later in this guide.
I consider testing vital in your learning process.
So I have put together this definitive beginner's guide to backtesting Forex trading strategies, to help get you started.
This guide is the result of my personal experience with trading, backtesting and talking to many profitable Forex traders since 2007.
It will help you see the value in the process and give you the roadmap to get started.
In addition, backtesting can help you take your trading game to the next level, even after you have become consistently profitable.
I would recommend getting out a notebook or your favorite note taking app because this will be an extensive guide and you don't want to miss anything.
Also open your favorite charting program, such as MetaTrader 4 (the desktop version) or TradingView, so you can see some of the concepts in action.
Here we go…
Table of Contents
What Does it Mean to Backtest in Forex?
Backtesting is the process of testing a trading strategy on historical data, to see how it would have performed in the past. If a system worked well in the past, it has a high probability of continuing to work in the future.
Backtesting is also known as simulation trading or paper trading.
Of course, market conditions can change, but I'll get into more details on that later.
For now, just think of it as a way to have a reasonable level of confidence that a trading strategy will be profitable in the future.
For example, let's say that you wanted to test a simple Relative Strength Index (RSI) trading strategy.
Your trading strategy may look something like this:
- Enter a trade when the indicator crosses back out of overbought/oversold
- But the stop above/below the most recent high/low
- Set a 2X risk profit target
- Risk 1% per trade
Here are a couple of examples of sell signals.
In order to find out if this is strategy might be profitable, you would test it on as much historical data as possible.
A common backtesting period in Forex is from 2003 to the present.
Testing over a long period of historical data allows you to see how the strategy performs in different market conditions.
If you only test in one type of market, you'll get a very skewed look at the performance of the system.
For example, if you test a trend following system in a trending market, then of course it will do well!
But if you also test it in a choppy market, then you'll get a much better idea of how much money it can lose and if the profits will make up for the losses.
Backtesting Tools You'll Need
There are basically 4 things that you need to do Forex backtesting:
- Charting software
- Historical data for the market you want to test (as much as possible)
- A written trading plan
- A method to track and analyze your trades
The great thing about the Forex market is that you can get a lot of software and data for free.
Of course, this is just to get you started.
To be a professional, you'll have to pay for the best software and data available.
But you can start with the free tools, and upgrade when you save more money or when you start making making money trading.
I'll get into specific free and paid solutions later in this guide.
However, if you want to get started right now, I highly recommend using NakedMarkets for your backtesting.
It will cost a few bucks, but it's cheap, compared to the time you'll save.
…and remember, time is one of the only things that you cannot get back.
How the Process Works
You're basically going to scroll your chart as far back as you can go, then start taking trades according to the rules of your trading system.
The more historical data you have, the better.
In some cases, you'll want to scroll your chart back to a specific date, so you can test in certain market conditions like choppy markets or trending markets.
In order to keep track of your trading results, you'll use one of the following:
- Analytics software
- A simple spreadsheet
- A piece of paper
Take as many trades as possible to figure out if your trading strategy has an edge (is profitable) or not.
I'll get into more details later in this guide.
But that's an overview of how it works.
If you want to get the complete program on how to manually backtest a Forex trading strategy, get it here.
Finding the profitability of a trading system isn't the only benefit.
Here are other ways that backtesting can help you…
How Forex Backtesting Can Help You
We have established that backtesting can show you if a trading method has the potential to be profitable over a long period of time.
But it also has other huge benefits that you may not be aware of.
Just like professional basketball players practice simple things like free throws, professional traders should practice entering and exiting trades.
Backtesting can give you that practice, even when the markets are closed.
You may think that this is not necessary, but if you don't keep your skills sharp, it can be easy to forget one of the rules of a trading system.
Especially if you trade multiple strategies or markets.
This video will give you a good illustration of how much more practice you can get with backtesting, compared to live trading.
It really speeds up the process.
This video demonstrates the benefit with Forex Tester, but you can use whichever software works best for you.
Of course, with practice comes confidence. This is probably the most important result of backtesting.
When you understand how often your system will win, your maximum drawdown and more, you'll be able to pull the trigger on trades.
You also won't be so hard on yourself when you lose a trade.
Because you know that it's all part of the system.
You have an advantage.
If you apply that advantage enough times, you'll come out ahead.
By knowing what your advantage is, you also know when your advantage has stopped working, or at least when you might be in market conditions that are not ideal for your trading system.
Increase Your Profits
Backtesting can also help you increase the return of a trading strategy that's already profitable.
Using simulation software allows you to test different ideas that can increase your win rate or profit per trade.
Since you aren't risking real money, you're free to try out any “crazy” idea that you come up with.
You'll usually see the biggest improvements by experimenting with your exits.
But tweaking your entries can help too.
Find Hidden Flaws in a Trading Strategy
There's more to a trading strategy than just the win rate and return.
For example, let's say that a trading strategy averages +369% per year and has a 52% win rate. Would you trade that strategy in your live account?
Most new traders would say yes.
But hold on…
There are other things you need to know about the strategy.
For example, what's the drawdown?
What if the strategy was down 90% during its worst losing streaks?
You would probably rethink your answer.
Most people could not stomach that drawdown. They would quit before the strategy made up the losses.
Drawdown isn't the only metric that you need to know about a strategy.
The metrics you need to know are outside the scope of this beginner's guide.
But just keep in mind that you need to know much more than the return and win rate of a strategy.
The Minimum Number of Trades Needed to “Prove” a Trading Strategy
There are a lot of opinions on the minimum number of trades that are required to give you the confidence that a trading strategy can be traded with real money.
If you read statistics websites, they will usually tell you that you need at least 30 data points to prove that a result is statistically significant.
Another popular number that gets thrown around is 100 trades.
Also not true.
In my experience, there's no magic number of backtesting trades that you need to execute to prove that a strategy has an edge. The minimum number of trades required will be relative to your strategy, trading timeframe and comfort level.
Here's what I mean…
Let's say that you have a trading strategy that only executes a couple of trades a year. Some years it might not execute any trades.
Even if you backtested over 12 years of data, you might only have 27 trades.
But if that strategy had 68% winners, returned 260%, and had a 21% max drawdown, would you want to trade it with real money?
Like I mentioned before, there are a few variables that would determine if you would trade that strategy live or not.
But just from looking at those basic stats, that strategy probably has an edge and 27 trades is probably enough.
Now let's look at a day trading strategy, where you take trades on the 5 minute chart.
This system usually provides 3 to 5 trades a day.
In this case, 100 backtested trades would not be enough because that would only give you about 25 days of testing data.
This would not demonstrate how well the system does across multiple economic cycles and market conditions.
The bottom line is that you want to prove that a trading strategy has an edge in as many different types of market conditions as possible, before you risk any cash.
Once you have a strategy that has a risk to reward profile that you find acceptable, then it's your decision if you want to use it to trade real money.
Avoid Curve Fitting
Before we go any further, let's define a very important term associated with backtesting, curve fitting. This is when you backtest a system over a short period of time and over-optimize it for that time period.
That system will look great on paper, but will perform terribly in real trading.
To illustrate this point, let's take a look at a historical chart of the EURUSD.
If you created a trading system by only using the data in the green box, then you would have undoubtedly created a trend following system because the market is in a strong trend.
This trend following system probably would have been insanely profitable during this period.
But hold on there cowboy…
If you tested the same trend following strategy during the time period in the blue box, you probably would have lost a lot of money.
A regression to the mean or counter trend trading system probably would have worked better there.
See what I mean?
So your trading system has to work in all types of market conditions. But that doesn't mean that you can make money in all markets.
I know of some trend methods that take a lot of small losses in ranging markets, but get super aggressive in trending markets and make all that money back…and more.
At this point, you might be asking:
Why not trade only when there is a trend?
The reality is that nobody really knows exactly when a trend will begin. Therefore, your trading system has to be ready in all trading environments.
Curve fitting can give you false confidence that a trading system is much better than it really is.
That's why forward testing is necessary too.
To learn more about forward testing read this guide.
Should You Do Automated or Manual Backtesting?
Some people think that you have to write an automated trading system to do backtesting.
The reality is that anyone can backtest.
This is because there are two types of backtesting:
Here are some options that you can start to explore, depending on which one you are more drawn to.
I've found that most people will do best if they start with manual testing, then figure out ways to automate strategies that work.
However, if you're a more technical person like an engineer or developer, then you may prefer to start with automated testing.
Let's take a look at the benefits and downsides of each one.
Automated Forex Backtesting
Automated testing is when you create a program that automatically enters and exits trades for you.
There are programs that you can purchase, rent, or even download for free.
You can also create these programs yourself.
MetaTrader is a great platform for creating and testing automated Forex strategies.
Read our automated backtesting guides here:
- Once you have a strategy that works, you can make money while you sleep.
- Removes most of the emotions from trading.
- Test strategies in the background while you do other things.
- Can be leveraged on a copy trading service, to make more money.
- One misplaced comma in the code and you could lose your entire account. It has to be tested extensively.
- You need to know the historical results of the trading system, so you know when it stops working.
- Even though the system is automated, you still need to check it on a regular basis. Is the technology working? Has the market changed?
- You have to understand coding (can be time consuming to learn) or you have to hire a programmer (which can get expensive).
- Not all trading methods can be properly translated into an automated system.
- It can be easy to curve fit an automated strategy.
In my experience, I believe that automated trading is only for a small portion of independent traders.
Now let's take a look at manual testing.
- You really get a feel for how a trading system works because you execute and watch every single trade. This can help you improve the system or even create an automated version later.
- Anyone can do it.
- It will simulate live trading mechanics: Entering/exiting trades, setting stops, etc.
- You can test any type of trading strategy.
- It can take a lot of time to test a manual strategy.
- Data entry errors can give you misleading results.
- You need to be able to follow a set of rules during your testing. If you keep changing your rules in the middle of a test, you won't get accurate results.
- Doesn't accurately account for emotions during live trading.
Pick One and Go For It
Now that you understand automated and manual backtesting, it's time to decide which one is best for you.
Again, I feel that most traders are best suited to developing a manual trading strategy, then figuring out how to automate parts of it.
Regardless of what you decide, I would highly recommend choosing one and becoming and expert at it.
You can always switch later.
But if you do both at the same time, you are less likely to succeed.
Speaking of success, what do professional traders do?
Do Professional Traders Backtest Trading Strategies?
The short answer is yes.
But skeptics will need more information, so I'll give you some concrete examples.
The Backtesting Pioneers
First, let's go ol' school…
Really old school.
Back to the time of punch cards.
Like this one…
Yes, physical paper cards that had holes in them. They contained the trading programs.
Traders would put the stack of cards into the computer and the machine would create a report with the results.
From this seemingly archaic mess, came the first system traders.
You have probably heard of traders like Ed Seykota, one of the pioneers of automated trading systems and computerized backtesting.
If you haven't heard of him, be sure to read Market Wizards.
He used these crazy punch cards to backtest some trend following trading systems.
…and guess what, some worked!
In one of his actual client accounts, Seykota was able to turn an initial $5,000 investment into $15,000,000, in 12 years.
Successful Forex Traders Who Backtest
Now let's take a look at some Forex traders that I've interviewed that backtest their strategies.
Listen very carefully to what they did and the types of systems that they tested.
You'll get some great ideas.
Alright, at this point, I hope that you are excited to get started.
Let's begin with the free options.
How to Get Free Forex Backtesting Software
We live in a great time.
Technology is getting better and cheaper. So if you have a very limited budget, then I have some great news!
You can start backtesting for free.
Here's how I would recommend getting started.
If manual trading is your thing, then I would recommend starting with TradingView. I like TradingView because there's nothing to install.
Simply login to the site and start using the charts.
MetaTrader 4 is also free, but you have to install it and there can be some trouble with getting it to work right, especially on Mac or Linux.
So start with TradingView and see if it works for you.
This video will show you how to do it.
Regardless if you use MetaTrader or TradingView, you'll need to setup a spreadsheet to track your trades.
You could use a piece of paper to track your trades, but a spreadsheet is better in the long run because you can perform complex calculations on your results.
To get started, setup a testing spreadsheet.
Any of the following will work:
- macOS Numbers
- Google Sheets
- OpenOffice Calc
Start by listing the following:
You could add a ton of other metrics, but I want to give you the simplest solution and you can build from there.
If your spreadsheet is too complicated, it will take too long to fill out and may not apply to the trading strategy you're testing.
But some metrics to possibly add later might include:
- Lots traded
- Running balance
- % Return per trade
- % Winners
- Max drawdown
- Average $ of wins / average $ of losses
- And more!
Add the metrics that you want to see.
Then scroll your chart back to the beginning and start testing.
Hit the right arrow on your keyboard to advance your chart candle-by-candle.
Enter your trades on the spreadsheet.
Here's a video on how to use a spreadsheet with MT5.
Once you are done backtesting, then analyze your results.
See the section further down the page on analyzing your results.
If you want to do automated Forex trading, then I would start with MetaTrader 4.
It's widely used, has a ton of documentation and you can download free code to speed up your learning process.
To learn more about the MQL programming language, start here.
I have found that when it comes to programming, the best way to start is to get some code that you already know works, then make small changes to some of the parameters or functions.
After you are comfortable with that, then you can start making bigger changes and even writing EAs from scratch.
Professional Forex Backtesting Solutions
Free options are great, but when you are ready to get real, then you'll have to spend some money.
This will save you a ton of time and headache.
Don't worry, the paid options are actually relatively inexpensive.
For manual backtesting, I would recommend using NakedMarkets.
It's a fairly new product, but it has many fantastic features that speed up the backtesting process.
The historical data is NakedMarkets is free and you can use it for both automated and manual trading strategies.
In my opinion, the best part about the software is the analytics. You get very detailed reports on your testing results.
Just drag and drop you MT4 report or connect it your Oanda account, via the API.
You can also build modular entry and exit rules that you can drag and drop into the software.
Here's a demonstration.
Another good option is Forex Tester.
It's the most widely used manual backtesting software on the market.
This will allow to test quickly and see your results, without a lot of manual calculations.
If you want to take advantage of the discount that I have worked out for Trading Heroes readers, use this coupon.
Forex Tester looks like MT4, so it's easy to use.
Forex Tester can be used for automated backtesting, but I have found that it's hard to find programmers who can code for it.
So use it for manual backtesting only.
Another downside is that the reporting is super basic.
So you'll have to export your trades to a spreadsheet to do more advanced calculations.
In automated backtesting, I would still recommend using MetaTrader 4, but I would also suggest hiring a programmer to help you with testing.
Even if you are proficient in coding, an additional pair of skilled hands (and eyes) can help tremendously.
You can find qualified programmers on our list of trading programmers.
There are also other paid backtesting platforms out there that can make your job much easier.
Although I recommend that you look at MT4 first, there is a list at the end of this post that might help you.
How to Analyze Forex Backtesting Results
Alright, now it's time to reap the benefits of your hard work.
The method that you'll use to analyze your backtesting will really depend on what you used to backtest with.
You Used a Spreadsheet
If you recorded your trades in an Excel spreadsheet, then first of all…wow!
Congrats, you are officially hardcore.
This isn't the most efficient way to do it, but you got it done, and I respect that tremendously.
In order to analyze your results, you will need to sharpen your Excel skills.
There are a lot of Excel resources to learn from, but I'll give you a quick lesson here.
The first thing that you want to figure out the winning rate of your system.
To do this, make two extra columns on your spreadsheet, one for wins and one for losses.
In the wins column, use a formula to tally the wins. Do the same in the losses column.
- Wins: =if((net profit/loss)>0,1,0)
- Losses: =if((net profit/loss)<0,1,0)
Then add all of the wins and losses…
Then divide the wins by the total number of trades.
That will give you the win rate.
Another important metric is your max drawdown. Learn how to calculate max drawdown in a spreadsheet here.
That will get you started, but figure out the metrics that you care about and add them to your spreadsheet.
You Used Manual Backtesting Software
There are a few manual backtesting software packages out there, but I recommend NakedMarkets because it has the best analytics of any manual software I've seen.
You can use to analyze reports from MT4, Oanda and Forex Tester. See your returns per month/year, Monte Carlo simulations and more.
You Went Automated
Again, you have quite a bit of choice when it comes to automated solutions. But most people will use MetaTrader 4 because it's free and you can use your broker's data.
MetaTrader's reports are limited, so you will need more.
Again, NakedMarkets is great for analyzing your MT4 results.
But different software has different analytics capabilities.
So if you aren't using MT4, then dig into your backtesting software and see what it provides.
More Forex Backtesting Resources
If the resources I mentioned above don't float your boat, then these products might be a better fit.
Backtesting Tools (Automated)
Here are some other options for doing automated Forex backtesting.
They aren't my first choice, but they may work well for you.
Backtesting Tools (Manual)
Here are more options for manual traders.
They can be a good way to start with backtesting, but I recommend upgrading as soon as you get some money.
That's how to get started with Forex backtesting.
Backtest often and you'll start to see the benefits.
I firmly believe that the only habits you will stick to, are the ones that are easy to do. So make backtesting as simple as possible and it's a habit that you'll keep doing.
Backtesting will be work.
But almost everything worthwhile is 🙂
To see my fully documented backtesting results, go here.
Whew…this guide took a long time to create, but I think I covered everything that a beginner should know.
If you appreciate this guide, please share it on social media or send it to your trader friends.
Sharing helps me create more guides like this.
Thanks for stopping by!
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.