Relative Momentum Index (RMI) Oscillator

The Relative Momentum Index (RMI) is a sibling to the RSI . Where the RSI measures trend based on the average (RMA) of gains and draws over a length of time, the RMI measures based on the SUM of gains and draws. Myself and many others have found that the RMI oscillates better than the RSI does.

I paired the RMI with the oscillation method the Fisher Transformation uses to oscillate the value from -1.0 to 1.0 instead of the Stochastic way of 0 to 100. This way you can enable the Fisher transform , if desired. But I also just prefer the appearance of that.

Some options and features I have coded in-
  • RMI Length: This is the length of the Relative Momentum Index itself. Like the length of RSI , default 14
  • Oscillation Length: This is your oscillation length, like a Stochastic . If you put the length at 1 it will turn the indicator into the straight up RMI indicator. (If you select to use the Fisher Transform , the overbought/oversold lines will not show nicely)
  • Source Pre-Smoothing: The option of smoothing out the source, ie close, before you even run it through the RMI, oscillation, and/or transform
  • Oscillator Post-Smoothing: The option of smoothing the output of the script
  • Trailing MA: If desired, you can check the box to Use a Trailing Signal, and enter the length of lookback for a Simple Moving Average ( SMA ) of the RMI Osc value
  • Use Fill Colors on MA: If enabled, it will fill the area between the RMI Osc and the trailing MA. I chose to use colors that are similar to some educational ideas I have published, whereby nearing the bottom of the oscillation you get Green to signal Accumulation, and near the top you get Red to signal Distribution. Following red is Black, where you typically get late signal sellers that Capitulate and sell stops trigger. Blue is where traders tend to Chase price up.

The most primitive way of using this indicator would be sell when the value exceeds the overbought/top line and buy when it falls below the oversold/bottom line. You can find ways to use the fill colors, or MA crossovers, rising lows or rising highs, etc. for signals.

Here's a comparison of this indicator to the Stochastic RSI , using similar values-

Here's showing the indicator on intraday values at defaults with some pre- and post-smoothing-

Same thing, but with Fisher Transform enabled-

And an example of the fill bands in action-

Please feel free to use any part of this code as desired.
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?