Welcome to Forex Backtest Friday, a post series where I share the backtest results of the market tendencies I investigate.

This week, we'll be taking a look at the "best technical indicator in Forex", according to this article from Babypips. In it, the author says the best indicator is the Ichimoku Kinko Hyo.

If you're not familiar with Ichimoku,

  • Tenkan Sen = Average of the highest high and lowest low over last 9 periods
  • Kijun Sen = Average of the highest high and lowest low over last 26 periods

In the article, the author backtested the crossing of the Kijun Sen by the Tenkan Sen on the EUR/USD daily chart, resulting in 53 trades and a 30.34% profit over 5 years:

ichimoku kinko hyo backtest

In my opinion, 53 trades is too small a sample size... and given that the largest number of test trades is 128 (for the Parabolic SAR), I'm guessing these backtests were done manually. If this is the case then there's a good chance of human subjectivity (bias) embedded in the results.

So I created a robot to run my own backtest of the Ichimoku indicator on the 1 hour and 4 hour time frames. This will result in a larger number test trades, and at the same time greatly reduce the element of human bias.

Buy criteria (reverse for sell):

  • Tenkan Sen crosses above Kijun Sen (upon candle close)
  • Buy on open of next candle

Trade parameters:

  • No stop loss
  • No profit target
  • Lot size per trade is fixed at 1 mini lot
  • When a buy trade is opened, close prior sell trade (and vice versa when opening a sell trade)
    • i.e. There is always one trade open
Ichimoku Tenkan Sen Kijun Sen

Red line = Tenkan Sen | Blue line = Kijun Sen | Chikou Span and Senkou Span not shown

Backtest settings:

  • Test period: 1 Jan 2009 - 31 May 2020
  • Starting capital: $10,000
  • Trading costs are not considered


The Results

Here are the results of the backtest (click to view):

Ichimoku EURUSD H1 backtest

EURUSD 1 hour chart

Ichimoku EURUSD H4 backtest

EURUSD 4 hour chart

Ichimoku GBPUSD H1Ichimoku EURUSD H4 backtest

GBPUSD 1 hour chart

Ichimoku GBPUSD H4 backtest

GBPUSD 4 hour chart

Ichimoku AUDUSD H1 backtest

AUDUSD 1 hour chart

Ichimoku AUDUSD H4 backtest

AUDUSD 4 hour chart

Ichimoku NZDUSD H1 backtest

NZDUSD 1 hour chart

Ichimoku NZDUSD H4 backtest

NZDUSD 4 hour chart

Ichimoku USDJPY H1 backtest

USDJPY 1 hour chart

Ichimoku USDJPY H4 backtest

USDJPY 4 hour chart

Ichimoku USDCAD H1 backtest

USDCAD 1 hour chart

Ichimoku USDCAD H4 backtest

USDCAD 4 hour chart

Ichimoku USDCHF H1 backtest

USDCHF 1 hour chart

Ichimoku USDCHF H4 backtest

USDCHF 4 hour chart

Ichimoku AUDCAD H1 backtest

AUDCAD 1 hour chart

Ichimoku AUDCAD H4 backtest

AUDCAD 4 hour chart

Ichimoku AUDCHF H1 backtest

AUDCHF 1 hour chart

Ichimoku AUDCHF H4 backtest

AUDCHF 4 hour chart

Ichimoku AUDJPY H1 backtest

AUDJPY 1 hour chart

Ichimoku AUDJPY H4 backtest

AUDJPY 4 hour chart

Ichimoku AUDNZD H1 backtest

AUDNZD 1 hour chart

Ichimoku AUDNZD H4 backtest

AUDNZD 4 hour chart

Ichimoku CADCHF H1 backtest

CADCHF 1 hour chart

Ichimoku CADCHF H4 backtest

CADCHF 4 hour chart

Ichimoku CADJPY H1 backtest

CADJPY 1 hour chart

Ichimoku CADJPY H4 backtest

CADJPY 4 hour chart

Ichimoku CHFJPY H1 backtest

CHFJPY 1 hour chart

Ichimoku CHFJPY H4 backtest

CHFJPY 4 hour chart

Ichimoku EURAUD H1 backtest

EURAUD 1 hour chart

Ichimoku EURAUD H4 Ichimoku EURAUD H4 backtest

EURAUD 4 hour chart

Ichimoku EURCAD H1 backtest

EURCAD 1 hour chart

Ichimoku EURCAD H4 backtest

EURCAD 4 hour chart

Ichimoku EURCHF H1 backtest

EURCHF 1 hour chart

Ichimoku EURCHF H4 backtest

EURCHF 4 hour chart

Ichimoku EURGBP H1 backtest

EURGBP 1 hour chart

Ichimoku EURGBP H4 backtest

EURGBP 4 hour chart

Ichimoku EURJPY H1 backtest

EURJPY 1 hour chart

Ichimoku EURJPY H4 backtest

EURJPY 4 hour chart

Ichimoku EURNZD H1 backtest

EURNZD 1 hour chart

Ichimoku EURNZD H4 backtest

EURNZD 4 hour chart

Ichimoku GBPAUD H1 backtest

GBPAUD 1 hour chart

Ichimoku GBPAUD H4 backtest

GBPAUD 4 hour chart

Ichimoku GBPCAD H1 backtest

GBPCAD 1 hour chart

Ichimoku GBPCAD H4 backtest

GBPCAD 4 hour chart

Ichimoku GBPCHF H1 backtest

GBPCHF 1 hour chart

Ichimoku GBPCHF H4 backtest

GBPCHF 4 hour chart

Ichimoku GBPJPY H1 backtest

GBPJPY 1 hour chart

Ichimoku GBPJPY H4 backtest

GBPJPY 4 hour chart

Ichimoku GBPNZD H1 backtest

GBPNZD 1 hour chart

Ichimoku GBPNZD H4 backtest

GBPNZD 4 hour chart

Ichimoku NZDCAD H1 backtest

NZDCAD 1 hour chart

Ichimoku NZDCAD H4 backtest

NZDCAD 4 hour chart

Ichimoku NZDCHF H1 backtest

NZDCHF 1 hour chart

Ichimoku NZDCHF H4 backtest

NZDCHF 4 hour chart

Ichimoku NZDJPY H1 backtest

NZDJPY 1 hour chart

Ichimoku NZDJPY H4 backtest

NZDJPY 4 hour chart

And here's the summary of the results:

Ichimoku Kinko Hyo backtest results

Perhaps unsurprisingly, there's a wide variation of outcomes across currency pairs and time frames.

The first thing to notice is that most of the results are smaller than +/- 60%, which is about +/- 5.5% per year.

I've highlighted the results that are over this threshold. These are the pairs and time frames I'd be interested in investigating further. (For the negative results I can simply flip the buy and sell trades to get a positive result).

One thing I'd like to point out is that I think the author at Babypips may have committed a common backtesting mistake: having too small a sample size of backtested trades. Here's why.

Take this equity curve of the backtest I ran on the EUR/USD 1 hour chart:

Ichimoku Kinko Hyo equity

The red box highlights the gains made over roughly 200 trades. If we only looked at these, we may have (erronously) concluded that the Ichimoku indicator was highly profitable on this pair and time frame. But when we consider all 3000+ trades, we see that it was actually barely profitable with a mere 18.07% return over 11 years. And remember, we have not yet considered trading costs.

So the reason we want a large sample size of backtested trades is to avoid drawing premature conclusions like this.

Ok so let's move on.

The pair that catches my eye is the GBP/JPY. It looks like the Ichimoku indicator is effective on both the 1 hour and 4 hour charts.

To get a more accurate sense of its profitability on this pair, I re-did the backtest with a spread of 1.5 pips. This will lower its net gain but the question is: by how much?

Let's take a look (click to view):

Ichimoku GBPJPY H1 results
Ichimoku GBPJPY H1 equity curve

GBP/JPY 1 hour backtest (including 1.5 pip spread)

Ichimoku GBPJPY H4 results
Ichimoku GBPJPY H4 equity curve

GBP/JPY 4 hour backtest (including 1.5 pip spread)

So the net gain dropped from:

  • 123.1% to 79.7% (1 hour chart), and 
  • 62.0% to 51.9% (4 hour chart)

This works out to an average gain of approximately 7.2% and 4.7% per year, respectively. Not a bad result, considering there had been no performance optimization at all.

From here, I'd be looking to add/tweak certain parameters to improve performance. I might add a stop loss for each trade, and/or include some trade filters. Also, I'd be looking at reducing the drawdown period and/or amount.

It looks like this is a trading approach that - after some tweaking - might be a candidate for forward-testing.

Note: The backtest continues here.