LazyBear

DecisionPoint Price Momentum Oscillator [LazyBear]

The DecisionPoint Price Momentum Oscillator (PMO) is an oscillator based on a Rate of Change calculation that is smoothed twice with custom exponential moving averages. Because the PMO is normalized, it can also be used as a relative strength tool.

PMO can be used in many ways:
- PMO can be used to determine the OB/OS state. While the +2.5 to -2.5 is the usual range for broad stock market indexes, each price index will have its own “signature” range. You may have to tune this for your instrument.
- PMO triggers buy/sell on signal crossovers and ZERO crossovers.
- Common patterns like BullKiss, BearKiss are useful to track. See the link below for more info.
- Divergences.
- Histo-only mode that can be used similar to MACD-Histo.

I have exposed all params as configurable. Have fun tuning :) Don't forget to share what you found for your instrument.

More Info:
stockcharts.com...school/doku.php?st=pmo&...

List of my public indicators: bit.ly/1LQaPK8
List of my app-store indicators: blog.tradingview.com/?p=970

Some Sample Charts:

TWTR:

MSFT:

GOOGL:



List of my free indicators: bit.ly/1LQaPK8
List of my indicators at Appstore: blog.tradingview.com/?p=970
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.

Disclaimer

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?
//
// @author LazyBear 
//
// List of my public indicators: http://bit.ly/1LQaPK8 
// List of my app-store indicators: http://blog.tradingview.com/?p=970 
//
study(title="DecisionPoint Price Momentum Oscillator [LazyBear]", shorttitle="DPMO_LB")
src=input(close, title="Source")
length1=input(35, title="First Smoothing")
length2=input(20, title="Second Smoothing")
siglength=input(10, title="Signal Smoothing")
fr=input(true, title="Fill Region")
ehc=input(false, title="Enable Histo Color")
ebc=input(false, title="Enable Bar Colors")
soh=input(false, title="Show Only Histo")
slvl=input(false, title="Show OB/OS Levels")
oblvl=input(2.5, title="OB Level"), oslvl=input(-2.5, title="OS Level")
calc_csf(src, length) => 
	sm = 2.0/length
	csf=(src - nz(csf[1])) * sm + nz(csf[1])
	csf
i=(src/nz(src[1], src))*100
pmol2=calc_csf(i-100, length1)
pmol=calc_csf( 10 * pmol2, length2)
pmols=ema(pmol, siglength)
d=pmol-pmols
duml=plot(not soh and fr?(d>0?pmol:pmols):na, style=circles, color=gray, linewidth=0, title="DummyL")
plot(0, title="MidLine")
hc=d>0?d>d[1]?lime:green:d<d[1]?red:orange
plot(d, style=columns, color=ehc?hc:gray, transp=80, title="Histo")
sigl=plot(soh?na:pmols, title="PMO Signal", color=gray, linewidth=2, title="Signal")
mdl=plot(soh?na:pmol, title="PMO", color=black, linewidth=2, title="PMO")
fill(duml, sigl, green, transp=70, title="PosFill")
fill(duml, mdl, red, transp=70, title="NegFill")
barcolor(ebc?hc:na)
plot(not soh and slvl?oblvl:na, title="OB Level", color=gray, linewidth=2)
plot(not soh and slvl?oslvl:na, title="OS Level", color=gray, linewidth=2)