McClellan Oscillator [LazyBear]

Developed by Sherman and Marian McClellan, the McClellan Oscillator is a breadth indicator derived from Net Advances, the number of advancing issues less the number of declining issues. Subtracting the 39-day exponential moving average of Net Advances from the 19-day exponential moving average of Net Advances forms the oscillator.

As the formula reveals, the McClellan Oscillator is a momentum indicator that works similar to MACD .

McClellan Oscillator signals can be generated with breadth thrusts, centerline crossovers, overall levels and divergences.

I have added the following options:
- Can choose Advancing/Declining issues of any market. Default is NYSE.
- Can show the EMAs and/or oscillator.
- Ratio Adjusted Calculation mode (as explained in the stockcharts link below) or default mode.
- Can use custom timeframe. Default is chart timeframe.

More info:

Complete list of my indicators:

Thanks @mpinky for pointing out the StockCharts version of this oscillator.

סקריפט קוד פתוח

ברוח TradingView אמיתית, מחבר סקריפט זה פרסם אותו עם קוד פתוח, כך שסוחרים יוכלו להבין ולאמת זאת. הידד למחבר! אתה יכול להשתמש בו בחינם, אך שימוש חוזר בקוד זה בפרסום הנו בכפוף ל כללי הבית . אתה יכול להגדירו כמועדף ולהשתמש בו בגרף.

רוצה להשתמש בסקריפ זה בגרף?
// @author LazyBear 
// List of all my indicators: 
study("McClellan Oscillator [LazyBear]", shorttitle="MO_LB")
advissues=input(defval="ADVN", title="Advancing Stocks Symbol", type=symbol)
decissues=input(defval="DECN", title="Declining Stocks Symbol", type=symbol)
isRA=input(true, title="Stockcharts version (Ratio Adjusted)?")
rm=input(defval=1000, title="RANA ratio multiplier")
showEMAs=input(false, title="Show EMAs?")
showOsc=input(true, title="Show Oscillator?")

useCTF=input(false, title="Use Custom Timeframe?"), 
tf=useCTF?input("D", type=resolution, title="Custom Timeframe"):period
ai=security(advissues, tf, close), di=security(decissues, tf, close)
rana=rm * (ai-di)/(ai+di)
e1=isRA?ema(rana, 19):ema(ai-di, 19),e2=isRA?ema(rana, 39):ema(ai-di, 39)

hline(0, title="ZeroLine")
plot(showOsc?mo<0?mo:0:na, style=area, color=red, title="MO_Negative")
plot(showOsc?mo>=0?mo:0:na, style=area, color=green, title="MO_Positive")
plot(showOsc?mo:na, style=line, color=black, title="MO", linewidth=2)
plot(showEMAs?e1:na, color=blue, linewidth=2, title="19 EMA")
plot(showEMAs?e2:na, color=red, linewidth=2, title="39 EMA")

List of my free indicators:
List of my indicators at Appstore:


GREAT Indicator to Post....I've gotten McClellans reports for probably 10 years now...Good Job...Great Value to the community...

That's what I Call...Strait LazyBear Style....
+5 השב
LazyBear ChrisMoody
Thanks Chris
+2 השב
Good Job. Thanks for doing it. I had it for a future indicator, you did it. Now I have it. Thanks.
+3 השב
LazyBear ucsgears
Thanks ucsgears.
+1 השב
LB you are a gentleman and scholar
+3 השב
LazyBear SPYderCrusher
Thank you for the kind words :)
+2 השב
Thanks , finally !
+1 השב
+1 השב
sir ,can we use this on indian market
Hi Good People,

How about if we want to chart the Advancing & Declining Volume(s) instead of Issues ?