Backtesting to Find a More Reliable CCI Signal
- CCI uses overbought and oversold levels to signal buy/sell entries.
- Only taking signals after a more extreme CCI reading could produce more reliable trades.
- FXCM Trading Station’s backtester is an easy way to test this idea.
As traders, we should always be investigating ways to find a new edge or to increase the edge that we already have in our strategies. When I first began trading, this meant attempting to combine multiple indicators together, adjusting parameters for each one, and creating new, more complicated indicators in hopes of turning a profit. But after my first two years of trading, I discovered that often times the simplest strategies are the ones that give me the results I am looking for.
Looking for simpler strategies is what led me to an idea about using the CCI in a way that I have never personally researched before. Please note that to gain full value from this article, it requires that you know the basics of reading the CCI (buying when CCI crosses above -100, selling when CCI crosses below +100). If CCI is completely new to you, please take this FREE 10-minute tutorial on CCI.
Attempting to Increase Reliability
The CCI bases its signals on prices that reach extreme highs or extreme lows, and looks to take advantage of the inevitable pullback that occurs afterwards. No move will last forever, so CCI helps guide us on when the move will turn back around.
We traditionally look to enter trades when the CCI crosses under +100 or above -100, but what if we also took into account how large the CCI became before crossing the +/-100 level? For example, sometimes the CCI will barely get beyond +/-100 before crossing back. But what about the times when CCI reaches 150, 200 or even 300? Shouldn't that create a more reliable signal for us? Because after all, the more extreme the initial move, the more extreme the pullback could be. The image below shows a CCI oscillator with CCI reaching levels beyond +/-100.
Learn Forex: CCI With Additional Levels
(created from FXCM Marketscope 2.0)
Testing Our Theory
To test this train of thought, we could go to the charts and manually see if there is a correlation between how far the CCI reaches and how successful each trade would have been, but that would take a very long time. Ideally, we want to look at hundreds of trades as efficiently and as quickly as possible. So for this task, we are going to use FXCM Trading Station's Backtester.
Since Trading Station doesn't have a built in CCI strategy that filters based on how extreme the CCI reached before crossing +/-100, we need to code a new strategy or find someone that can code it for us. Fortunately, I was able to find a free download of the exact CCI strategy we need on www.FXCodeBase.com. You can find the exact download I used in my testing here. To install, simply download the file, then drag and drop the file onto any Marketscope chart. Click on the Backtest button and we can begin testing!
Learn Forex: Backtesting the CCI Strategy on the Trading Station Desktop
Here is a summary of all the parameters used in my backtests.
- Test account started with $1,000 and traded 1 microlot (1k) at a time.
- Tested 24 months of price data (Jan. 1st 2011 thru Dec. 31st 2012)
- Tested on EURUSD and AUDJPY.
- CCI based on 4-hour chart data
- No stops or limits. Each trade was closed when an opposing signal was given, opening a trade in the opposite direction.
- The trades were triggered when crossing below +100 or above -100, but were required to reach the Overbought/Oversold Confirmation Level before the trade triggered or else a trade would not be placed. (So in the image above, it required CCI to reach at least +/-150 before crossing back over the +/- 100 for the trade to be placed. With these settings applied, if the CCI only reached +135 and then crossed below the +100, a trade would not be placed.)
- Ran multiple backtests with Confirmation levels starting at the traditional +/- 100 as my base, and increased the Confirmation level used in increments of 10 for each additional backtest (so +/-110, +/-120, +/-130, +/-140, etc, up to +/-300).
- This gave me 21 data points to analyze.
After each backtest, I focused on Final Balance and the Amount of Trades placed. This way I can see if the use of a higher confirmation level benefits the strategy and estimate how reliable the results are by taking into account the number of trades in each backtest.
Using Microsoft Excel, I graphed the results of each Confirmation level tested so I could see if there was any correlation between Confirmation levels and overall profitability. Let's first look at the EURUSD results
Learn Forex: CCI Confirmation Backtesting on EURUSD
While a traditional CCI (+/- 100) turned a $1,000 account into a $1,114 account, we can clearly see that using a confirmation level of 170 yielded much greater results, posting an ending balance of $1,362. But, requiring larger confirmation levels led to diminishing returns, rendering the strategy unprofitable above a confirmation level of 270. You will also notice that as the confirmation level was increased, the strategy placed less trades overall. This is logical sense the higher levels of CCI are much more rare.
These results indicate that using a CCI confirmation level before placing a trade on a CCI cross could be a viable trading strategy to further research. Now, let's turn to the AUDJPY results. (I chose AUDJPY since it has very low correlation to the EURUSD)
Learn Forex: CCI Confirmation Backtesting on AUDJPY
The traditional CCI turned a $1,000 account into $734. This was a much poorer result than what we saw on the EURUSD. But once again, we saw that the results on average were much higher when we filtered based on a higher Confirmation level. While the 170-180 level was an improvement, better still was using a higher Confirmation between 230-260. At those levels, this strategy would have turned a profit of 10-20% from our initial $1,000 account.
One thing to consider though is the small amount of trades placed when we have a confirmation level set that high. While the traditional CCI of +/- 100 placed over 140 trades in the two years tested, Confirmation levels 230 - 260 placed between 10-25 trades.
These results also indicate that using a CCI confirmation level before placing a trade on a CCI cross could be a viable trading strategy, but we would need much more testing due to the small number of trades placed at the most profitable levels.
Looking Forward After a Backtest
Historical performance is not indicative of future results. This is something we should all be aware of, but the tests shown today could help lead us to some new ideas that might yield better results as we move into the new year. I plan to do more research about this specific topic in the future, most likely including more pairs and more time frames.
Good trading and Happy New Year!
---Written by Rob Pasche
Take this free 20 minute “New to FX” course presented by DailyFX Education. In the course, you will learn about the basics of a FOREX transaction, what leverage is, and how to determine an appropriate amount of leverage for your trading.
Register HERE to start your FOREX learning now!
DailyFX provides forex news and technical analysis on the trends that influence the global currency markets.