HPotter

Bill Williams. Awesome Oscillator (AC) Signal Line

This indicator plots the oscillator as a histogram where blue denotes
periods suited for buying and red . for selling. If the current value
of AO ( Awesome Oscillator ) is above previous, the period is considered
suited for buying and the period is marked blue. If the AO value is not
above previous, the period is considered suited for selling and the
indicator marks it as red.

Donate BTC: 13fXLkhWuGMXRmcvwkG2gaWKcnsiD88bwE
USDT (TRC20): TH29EEXa19vfwZNYvxdUuMxoFY5QDYLcWG
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?
////////////////////////////////////////////////////////////
//  Copyright by HPotter v2.0 18/09/2014
//    This indicator plots the oscillator as a histogram where blue denotes 
//    periods suited for buying and red . for selling. If the current value 
//    of AO (Awesome Oscillator) is above previous, the period is considered 
//    suited for buying and the period is marked blue. If the AO value is not 
//    above previous, the period is considered suited for selling and the 
//    indicator marks it as red.
////////////////////////////////////////////////////////////
study("Bill Williams. Awesome Oscillator (AC) with Signal Line")
nLengthSlow = input(34, minval=1, title="Length Slow")
nLengthFast = input(5, minval=1, title="Length Fast")
nLengthMA = input(15, minval=1, title="MA")
nLengthEMA = input(15, minval=1, title="EMA")
nLengthWMA = input(15, minval=1, title="WMA")
bShowWMA = input(type=bool, defval=true, title="Show WMA")
bShowMA = input(type=bool, defval=false, title="Show MA")
bShowEMA = input(type=bool, defval=false, title="Show EMA")
xSMA1_hl2 = sma(hl2, nLengthFast)
xSMA2_hl2 = sma(hl2, nLengthSlow)
xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2
xSMA_hl2 = sma(xSMA1_SMA2, nLengthFast)
nRes =  xSMA1_SMA2 - xSMA_hl2
xResWMA = wma(nRes, nLengthWMA)
xResMA = sma(nRes, nLengthMA)
xResEMA = ema(nRes, nLengthEMA)
cClr = nRes > nRes[1] ? blue : red
plot(bShowWMA ? xResWMA : na, color = green)
plot(bShowMA ? xResMA : na, color = green)
plot(bShowEMA ? xResEMA : na, color = green)
plot(nRes, style=histogram, linewidth=1, color=cClr)