Ichimoku Trend or Range? Created by Rohan Posthumus

Ichimoku Trend or Range? Created by Rohan Posthumus

Hello everybody,

I have tested a lot of systems and indicators and fell in love with the Ichimoku indicator. I am currently on a mission to quantify trading aspects of the indicator in order to backtest and optimize it.

One of the things that I often read about the Ichimoku indicator is that “it loses its validity in range markets”. What I have done here is to create my own indicator in order to reverse engineer the statement – when the Ichimoku loses its validity, the markets is ranging.

The indicator works as follows:

When both the current and future cloud have the same color, the market is trending, but when there is color changes, the market is ranging. The indicator gives a value of +2 or -2 for bullish or bearish trending respectively. The indicator gives +1 or -1 when the market is bullish or bearish range respectively. A value of 0 indicates chopiness or that the close is in the cloud (do not trade). This indicator serves as a setup indicator – it only shows when to long or short and what strategy to follow and is not intended to be used as entry signals. For example, when the indicator is +1 you have a bullish range setup, and when the RSI(14) is coming out of overbought you have a buy entry. Or if you have a -2 and the RSI(14) crosses down 50 you have a swing trade short entry.  A weakness of the indicator is that it does not allow Kumo breakouts and therefore misses the start of trends. It is good for swing trading and range trading.

I am new to programming and ProRealTime, so I welcome any improvements. Below is the code.


Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

New! PRC is also now on YouTube, subscribe to our channel for exclusive content and tutorials

  1. Souk Diaby • 195 days ago #

    Thanks a lot, will check this indicator asap 🙂

    have a nice trading day

  2. Rohan • 195 days ago #

    Pleasure Souk, please let me know if you have ideas to improve it. I am trying to incorporate something with volatility into it, but am not sure.  

    Thanks, you too!

  3. but but • 63 days ago #
    what the difference of this 2 cloud?
    SpanA = (tenkansen[26]+kijunsen[26])/2
    SpanB = (highest[52](high[26])+lowest[52](low[26]))/2
    FutureSpanA = (tenkansen+kijunsen)/2
    FutureSpanB = (highest[52](high)+lowest[52](low))/2
    Span AB cloud is move back to today, and    FutureSpanAB  cloud move to 26 day  Future, so they must be same , how can i get the result of SpanA < SpanB and FutureSpanA > FutureSpanB ???
  4. Rohan • 62 days ago #

    Good morning,

    Just to clarify, the main idea here is to compare the cloud directly above/below price with the cloud in the future. E.g. should they be the same color, price are making higher highs and higher lows i.e. trending. To do this, you have to take today’s cloud (which is the previous period’s future cloud) and compare it to today’s future cloud. So you are not comparing one cloud that moves but you are comparing 2 clouds both moved forward. Do to a lack of a better name, I called one future cloud but both are in fact a future cloud but just for 2 different periods.

    Hope this helps??

  5. but but • 62 days ago #

    clear, it seems to be an interesting idea

  6. Rohan • 62 days ago #

    Thanks. It sometimes tests better when you remove the “close” part of the code – only look at the clouds. Try adding volatility or momentum conditions…

Register or


avatar avatar avatar avatar
Related users ' posts
2 weeks ago
Rafa I have just realized is not finished yet. If we want to make it complete, we need to compare...
volpiemanuele I have optimized it on Wallstreet cash 1 euro...tf 3h..best result //**********************...
Rafa Thanks a lot.. Best regards  
juanj I actually completely re-wrote this strategy as I found I actually coded it VERY wrong. My n...
Nicolas Please send it to me with the contact form, thanks.
Magnus Park Hi! Thanks for sharing! Have the code been swapped to the new one? or is it the first one st...
Iber0 Con esta modificación reinviertes las ganancias y la curva mejora bastante arriesgando menos...
Iber0 Asi quedaria con el spread de IG [IMG]http://i65.tinypic.com/2418ism.jpg[/IMG]
bjoern Seems to work nice on BUND - M15 with SL 70 and TP 120
6 months ago
Rohan Thanks Nicolas :-)
Newtrader Thanks. The indicator is great. It has a great potential.
gabri Great job!! I love everything that involve Ichimoku. Did you think about changing the line t...
pascal3431 Salut Doc , Je ne vois pas ce qui fait office de stop dans ce code .. un retour dans le nua...
Doctrading Bonjour, Il s'agit juste d'une stratégie où on est toujours en position : soit à l'achat / ...
pascal3431 Bonjour, après quelques essais sur EUR/USD au M15 en rajoutant(car sinon on est en perte) u...
Doctrading Nice Job ! Here is my version of the code :  KBO = 0 Tenkansen = (highest[9](high)+lowe...
gefinance Thanks for this code. The only thing left missing is the time lapse, otherwise, lots of old...
Nicolas Thanks for contributing to the "ichimoku section" of the prorealtime code library Don't he...
grizzly Great work - i use the cloud in some of my auto systems and very reliable.
Dymjohn Thanks for the comment grizzly, I like the look of your position sizing coding but won't use...
Elsborgtrading Hi John, and nice to see you took the Ichimoku a step further:-) One thing though, I think t...
mcha bonjour, merci pour cet échange mais il me semble que ce twist des SSA  et SSB serait plus ...
Doctrading The real formula is :  Tenkansen = (highest[9](HIGH)+lowest[9](LOW))/2 Kijunsen = (highest...
elabuelomanyo Gracias por la aclaración Doctrading. Con ese cambio, en el codigo inicial sigue saliendo u...
elabuelomanyo Hola buenas noches, Con el codigo inicial y el acmbio propuesto por Doctrading si sale los ...
gino bonjour doctrading j'aurais voulus savoir si il vous était possible de faire un autre scree...
Doctrading Bonjour, Voilà le code. Il est tellement simple que je ne l'ai pas vérifié. Bons trades ;)...
gino merci beaucoup