Essential Guide To Backtesting A Trading Strategy For Free
Over the years, I've tried several ways to backtest my trading strategies. Only one backtesting method ended up working for me and I wanted to show you how that works!
But let's face it: no one has fun backtesting. Ask any trader their level of excitement as they backtest a trading strategy and most of them will reply something along the lines of “quite low”.
However, picture yourself as the owner of an aircraft business; you wouldn't launch a new plane on the market without knowing for sure that it flies, right?
Same goes with your trading business. One of your role as the owner of that trading business is to ensure that you test your tools so you don't get surprised when you operate your business live.
How To Go About Backtesting?
There are two basic ways to go about your backtest. The first one involves creating a script that will do the backtesting for you. If you enjoy and/or are good at coding, this might be a good option. The other option consists of manual backtesting, by which you go through the charts yourself and place the trades.
The other option consists of manual backtesting, by which you go through the charts yourself and place the trades.
Below are some advantages of both manual and automated backtesting. The advantages of one are quite simply the disadvantages of the other.
Advantages of going automated
- It's time-effective.
- You can test on many instruments/timeframes easily.
- It's simple if you're good at coding.
Advantages of going manual
- You get a better understanding of your trade setup and what it can look like.
- You get more practice, which is useful when trading live.
- There isn't much preparation required.
- More flexible.
Based on this, I strongly recommend going with manual backtesting even though it might take more time. The reason is that you get to gain experience seeing your trade setup in various circumstances. It's sort of an exercise for when you start to trade live.
For the rest of this article, I'll assume that you're not a coder and you want to leverage the advantages of manual backtesting.
So let's stick to manual!
What Software/Tools To Use?
I'll say from the start that the easiest way to go about backtesting is to use a software that was designed for backtesting. That's kind of a shortcut :)
While I have my own copy of Forex Tester, I can't use it away from home (it's available only on PC). Whenever I travel with my Mac, I must adapt and that's why I want to provide you with more alternatives.
That being said, any trading platform (MetaTrader, TradingView, NinjaTrader, etc.) can be used to backtest manually. The only thing you need to do is to scroll back in time and hide the future price movements.
UPDATE 2018: TradingView came up with a new cool feature to make backtesting easier. The only issue is that the data available to backtest is fairly limited (1-3 months on a 5 min chart).
Then, move one candlestick (time-period) at a time until you see a trade setup you would take under your trading strategy. At all times, future price movements should be hidden so you don't see the outcome of your trade until you agreed you'd take it.
Here are some important tips for TradingView:
How To Track Your Backtesting?
This is where I like to do things quite different from most traders. I recommend you watch the video at the beginning of this article to see in action how I track the trades I take in my backtesting.
Here, I'll just outline the main tools and the process I go through…
The Tool I Use
I am a big fan of Trello, a free web-based tool (also on mobile) that is like having a board with multiple sections in front of you.
I currently have my trading journal in Trello (example here) and I find this much more intuitive than a spreadsheet.
Very recently, though, I started using the same format for my backtesting. I create a Trello board with the following columns:
- Winning trades
- Losing trades
- Not taken
It looks like this:
For the Winning Trades and Losing Trades, I attach a capture taken from TradingView. That's it! At the end, it's easy to count how many winning and losing trades you have.
If you are aiming for a Reward-To-Risk of 2:1, have 30 losing trades, and 30 winning trades, for instance, you know that your return will be around (-1X30) + (2X30) = 30R. If you were to risk 1% per trade, that would give you 30%.
In this case, however, the Not Taken column is especially important. Those are the trade setups you've come across but haven't taken for some reason. I attach a capture of the trade and write the reason I didn't consider this as a valid trade.
Those reasons you've identified are going to be the things you need to be very careful about when you get to trade live. If your strategy performs poorly live, it's probably because you're taking trades you wouldn't have taken if you were backtesting. I recommend you write down the reasons why you didn't take certain trades on your One-Page Trading Plan (free template).
Free Offer: If you use this link, you and I will get the Gold version of Trello for free. That's a win-win deal!
What do you think of this backtesting method? Are you currently doing something similar? What is your biggest challenge when it comes to backtesting? Comment below and let's discuss!