Just Another RSI

This is slightly different implementation of RSI using arrays. But, it also comes with a twist.

Formula for standard RSI can be found here:

If there is green candle, gain for the candle is equal to price movement from previous bar and loss for that candle is 0. Similarly in case of red candle, loss is considered to be movement from previous candle whereas gain is 0. Also, as mentioned in step2, on each bar, average of previous bar gains/losses are merged with present candle gain/loss.

New Process
  • Gain is considered only on green candles. Hence, there is no zero gain candles
  • Loss is considered only on red candles. Hence, there is no zero loss candles
  • Average or median of last N gains and losses are considered. Hence, the movement mainly tell us the strength between bullish and bearish candles.
  • Let us forget about seeing it as overbought and oversold area and look at it as bullish and bearish region.

How it is different
Since, gain and loss are only considered if there are gain and loss, this index represents the strength between bullish and bearish candles without looking at price movement. Hence, the index has capability to go in opposite direction of the price representing price movement is not supported by strength.

Another advantage of this implementation is it allows using variable length for the method. In case of RSI, length has to be constant. It cannot be variable which can change every bar. But, we do not have that constraint in this implementation due to use of arrays.

At present, this is purely experimental. I will look forward to study this more with respect to divergence and for use in trend following methods.

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.


The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?