The Price Momentum Oscillator (PMO) is an oscillator based on a Rate of Change (ROC) calculation that is smoothed twice with exponential moving averages that use a custom smoothing process. Because the PMO is standardized, it can also be used as a relative force tool.
The Price Momentum Oscillator is derived by taking a one period rate of change and smoothing it with two custom smoothing functions. The custom smoothing functions are very similar to Exponential Moving Averages but instead of adding one to the time period setting to create the smoothing multiplier (as in a true EMA), the smoothing functions just use the period by itself.
//PRC_Price Momentum Oscillator
//28.09.2016
//Nicolas @ www.prorealcode.com
//Sharing ProRealTime knowledge
// --- settings
//length1=35 // "First Smoothing"
//length2=20 //"Second Smoothing"
//siglength=10 //"Signal Smoothing"
// --- end of settings
if barindex>1 then
i = (close/close[1])*100
sm1 = 2.0/length1
csf1=((i-100)-csf1[1])*sm1+csf1[1]
pmol2=csf1
sm2 = 2.0/length2
csf2=((10*pmol2)-csf2[1])*sm2+csf2[1]
pmol=csf2
pmols=average[siglength,1](pmol)
endif
return pmols coloured(100,100,100) as "Signal", pmol coloured(0,0,0) style(line,2) as "PMO", 0 coloured(100,100,100) style(dottedline) as "0 level"