TheLark

FREE INDICATOR: Relative Momentum Index (RMI)

4770 13 368
RMI, as requested by glaz

Description:
The Relative Momentum Index was developed by Roger Altman and was introduced in his article in the February, 1993 issue of Technical Analysis of Stocks & Commodities magazine.
While your typical RSI counts up and down days from close to close, the Relative Momentum Index counts up and down days from the close relative to a close x number of days ago. The result is an RSI that is a bit smoother.

Usage:
Use in the same way you would any other RSI . There are overbought and oversold zones, and can also be used for divergence and trend analysis .


Grab the source code here: http://pastebin.com/LRVusQmy
Installation video by @ChrisMoody here : http://vimeopro.com/user14689865/tradingviewcom-how-to-videos

            ░░░░░░░░░░░░░░░ Feel free to follow me to keep up with my latest scripts! ░░░░░░░░░░░░░░░
            ░░░░░░░░░░░░ PLEASE THUMB UP OR STAR IF YOU LIKE THIS INDICATOR! ░░░░░░░░░░░░
                                                          I'd like as many people as possible to get it :)
Remove from Favorite Scripts Add to Favorite Scripts
study(title = "TheLark Relative Momentum Index (RMI)",overlay=false)

//•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•//   
//                                             //
//                RMI BY THELARK               //
//                 ~ 2-19-14 ~                 //
//                                             //
//                     •/•                     //
//                                             //
//    https://www.tradingview.com/u/TheLark    //
//                                             //
//•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•//

// Relative Momentum Index (RMI)
// "... The Relative Momentum Index was developed by Roger Altman 
// and was introduced in his article in the February, 1993 issue of 
// Technical Analysis of Stocks & Commodities magazine. "
// "... While RSI counts up and down days from close to close, the Relative 
// Momentum Index counts up and down days from the close relative to a 
// close x number of days ago. "

// Requested by glaz @ TradingView

// inputs 
len = input(20, title="Length")
mom = input(4, title="Momentum",minval=0)
ob = input(70,title="Overbought")
os = input(30,title="Oversold")
c = close
docol = input(true,title="Change Color?")
dosignal = input(true,title="Show Signal Line?")
sig = input(6,title="Signal Length")
dohist = input(false,title="Show Hist?")
//calc
up = ema(max(c - c[mom],0),len)
dn = ema(max(c[mom] - c,0),len)
rmi = dn == 0 ? 0 : 100 - 100 / (1 + up / dn)
signal = sma(rmi,sig)

//plots
hline(ob)
hline(os)
plot(dohist?(rmi-signal)+50:na,color=#FF006E,histbase=50,style=histogram,linewidth=2)
plot(dosignal?signal:na,color=#D87A68)
col = docol ? rmi > rmi[1] ? #0094FF : #FF006E : #0094FF
plot(rmi, color=col,linewidth=2)
What coding language is this? I need the RMI code for Easy Language. Can anyone help?
Reply
Lark, can you tell me what condition makes the line change colors?
Reply
DigitalMan PRO DigitalMan
disregard, brain fart released. I got it.
Reply
Oscar_Carlson DigitalMan
How did you change the colors?
Reply
Hey ThLark, thanks for continuing doing that.

The question relative RSI definition. Several years ago I wrote a piece of code, doing exactly what RSI defines: "... up and down days from close to close...".

If you do it by yourself and plot the indicator (not just using built-in function), you'll see completely different graph.

As I understood, the standard built-in RSI is some sort of approximation to the original definition.
+1 Reply
What was the calculation that you were using? There are different ways to build RSI's, I alone have built at least 10 different RSI's. I believe the original was RS = (avg up closes / avg down closes) RSI = (100 - 100/(1 + RS)), and it's possible the built in RSI is some variation of the original calculation?

*Where RS = Average of x days' up closes / Average of x days' down closes.
+1 Reply
dp TheLark
Exactly, I used the formula you wrote. I think that if you program it directly, you'll see the different result from what is offered in TV and other packages.

My interpretation of the difference is they need to accelerate the calculation to update only the newest point in real time, and use the rest of series from previous computations. That leads to screwing up of the original formula. I've seen the reference about modification to some book on www.marketwatch.com, but they changed the site and I can't find it.
+1 Reply
Interesting, let me know if you find it.
Personally, I build everything (thats possible to build) from scratch, that way I know exactly what I'm using all of the time :)
+1 Reply
dp TheLark
I would do the RSI formula you wrote, if TV had "for-loop", in no time, just like you, I guess ;)

As I remember, I did it for fun in IDL to see how RSI works on test functions, like a sum of 2 sines with different amplitudes and frequencies. The result was radically different.

I'll keep you posted if I find the reference. The sad thing people taking those indicators for granted.
Reply
I guess this comes down to interpretation now! Do you think a for loop is necessary to get the correct calculation? The way I see it is pretty straight forward, all done with standard definitions. And I agree, I can't comprehend something until I code it out and experiment, but I have a feeling you take it much further than me! haha ,, I like what you bring, get's me thinking every time
+1 Reply
United States
United Kingdom
India
Deutschland
España
France
Italia
Polska
Brasil
Россия
Türkiye
Indonesia
Malaysia
日本
한국
简体
繁體
Home Stock Screener Forex Signal Finder Cryptocurrency Signal Finder Economic Calendar How It Works Chart Features House Rules Moderators Website & Broker Solutions Widgets Stock Charting Library Priority Support Feature Request Blog & News FAQ Help & Wiki Twitter
Profile Profile Settings Account and Billing Priority Support Ideas Published Followers Following Private Messages Chat Sign Out