HPotter

Relative Momentum Index

The Relative Momentum Index (RMI) was developed by Roger Altman. Impressed
with the Relative Strength Index's sensitivity to the number of look-back
periods, yet frustrated with it's inconsistent oscillation between defined
overbought and oversold levels, Mr. Altman added a momentum component to the RSI .
As mentioned, the RMI is a variation of the RSI indicator. Instead of counting
up and down days from close to close as the RSI does, the RMI counts up and down
days from the close relative to the close x-days ago where x is not necessarily
1 as required by the RSI ). So as the name of the indicator reflects, "momentum" is
substituted for "strength".
Remove from Favorite Scripts Add to Favorite Scripts
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 05/09/2014
// The Relative Momentum Index (RMI) was developed by Roger Altman. Impressed 
// with the Relative Strength Index's sensitivity to the number of look-back 
// periods, yet frustrated with it's inconsistent oscillation between defined 
// overbought and oversold levels, Mr. Altman added a momentum component to the RSI.
// As mentioned, the RMI is a variation of the RSI indicator. Instead of counting 
// up and down days from close to close as the RSI does, the RMI counts up and down 
// days from the close relative to the close x-days ago where x is not necessarily 
// 1 as required by the RSI). So as the name of the indicator reflects, "momentum" is 
// substituted for "strength".    
////////////////////////////////////////////////////////////
study(title="Relative Momentum Index", shorttitle="RMI")
xPrice = close
Length = input(20, minval=1)
BuyZone = input(40, minval=1)
SellZone = input(70, minval=1)
hline(0, color=gray, linestyle=dashed)
hline(SellZone, color=red, linestyle=line)
hline(BuyZone, color=green, linestyle=line)
xMom = xPrice - xPrice[Length]
xMU = iff(xMom >= 0, nz(xMU[1], 1) - (nz(xMU[1],1) / Length) + xMom, nz(xMU[1], 1))
xMD = iff(xMom <= 0, nz(xMD[1], 1) - (nz(xMD[1],1) / Length) + abs(xMom), nz(xMD[1], 0))
RM = xMU / xMD
nRes = 100 * (RM / (1+RM))
plot(nRes, color=blue, title="RMI")
ChartArt
2 years ago
The RMI seems to be one of the many indicators which sound awesome in theory but produce many false signals in reality.

snapshot
Reply
ChartArt ChartArt
2 years ago
RSI vs RMI (both with a period length of 20 days)

snapshot
Reply
ChartArt
2 years ago
I found a small issue with your script. The zero line doesn't work. It has to be set to 50 not 0 :)
Reply
ChartArt ChartArt
2 years ago
I mean it seems to 55 not 50.
Reply
HPotter PRO ChartArt
2 years ago
What about script do you speak?
Reply
ChartArt HPotter
2 years ago
RMI has three levels: 0 (zero line), 70 (overbought), 40 (oversold).

The first level (hline) needs to be 55 not 0.
Reply
HPotter PRO ChartArt
2 years ago
Oh, I understood. I do not know how work this versions of the scripts for fix. I hope that peoples will fix it yourself. Thank you.
Reply
ChartArt
2 years ago
FYI: Here is the RMI created by user TheLark

FREE INDICATOR: Relative Momentum Index (RMI)
Reply
kocurekc
2 years ago
Here's a colorized version if you want to pretty yours up...
Pine Script - Relative Momentum Indicator



Props to Lark - https://www.tradingview.com/u/TheLark/
Reply
Ideas Scripts Chart
United States
United Kingdom
India
España
Italia
Brasil
Россия
Türkiye
日本
한국
Home Stock Screener Economic Calendar How It Works Chart Features House Rules Moderators For the WEB Widgets Stock Charting Library Priority Support Feature Request Blog & News FAQ Help & Wiki Twitter
Private Messages Chat Ideas Published Followers Following Priority Support Public Profile Profile Settings Billing Sign Out