"BBImpulse is derived from %b. Its value is the periodic change of %b, so if %b was 0.45 this period and 0.20 last period the present value of BBImpulse is 0.25. We present two reference levels on the chart, an alert level and an impulse level."
"Generally the market moves in the direction of the latest alerts and/or impulses except towards the end of a move where one can take advantage of exhaustion/reversal signals from this indicator."
"Ian Woodward employs BBImpulse for his Kahuna signals using key levels of 0.24 and 0. 40 ."
I added support for the following:
- Highlighting alert/impulse trigger bars
- Rendering the range (check options page).
I noticed that the range, by itself, highlights lot of info:
- Tapering in (narrowing) of range may signify topping or falling prices.
- Tapering out (expanding) may signify nearing a bottom or rising prices.
- Range getting "ranged" between alert or impulse levels signify a major move in the direction of the last impulse trigger. I think for this, alert level ranging intensity is greater than impulse level ranging intensity.
Someone more familiar with BB will have more observations, I am sure. Please do share here so we BB noobs can learn :)
For more indicators, check out my complete list here:
List of my indicators at Appstore: http://blog.tradingview.com/?p=970
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.
// // @author LazyBear // List of all my indicators: https://www.tradingview.com/v/4IneGo8h/ // study(title = "Bollinger Bands Impulse [LazyBear]", shorttitle = "BBIMP_LB") source = close length = input(20, minval=1) mult = input(2.0, title="Mult Factor", minval=0.001, maxval=50) alertLevel=input(0.24) impulseLevel=input(0.40) showRange = input(false, type=bool) // Calc BB basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev // Calc Impulse bbr = (source - lower)/(upper - lower) bbi = bbr - nz(bbr) bbc = iff(bbi>0, iff(bbi>alertLevel and bbi<impulseLevel, lime, iff(bbi>impulseLevel, orange, aqua)), iff(bbi<-alertLevel and bbi>-impulseLevel, red, iff(bbi<-impulseLevel, orange, aqua)) ) // Plot Ian Woodward's suggested Reference Levels plot(0, color=gray, title="MidLine", style=3) plot( impulseLevel, color=gray, style=line, linewidth=1, title="Impulse+") plot( alertLevel, color=gray, style=3, linewidth=1, title="Alert+") plot( -alertLevel, color=gray, style=3, linewidth=1, title="Alert-") plot( -impulseLevel, color=gray, style=line, linewidth=1, title="Impulse-") plot(showRange ? bbr : na, color=gray, style=area, title="Range+", linewidth=0, transp=80) plot(showRange ? -bbr : na, color=gray, style=area, title="Range-", linewidth=0, transp=80) plot(bbi, color=bbc, style=histogram, linewidth=2)