LazyBear

BBImpulse Indicator

BBImpulse is part of the latest indicators package offered by John Bollinger. Excerpt from their market blurb (www.bbforex.com/tutorial/?p=4):

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

本着真正的TradingView精神,该脚本的作者将其开源发布,以便交易者可以理解和验证它。为作者喝彩!您可以免费使用它,但在出版物中重复使用此代码受网站规则的约束。 您可以收藏它以在图表上使用。

免责声明

这些信息和出版物并不意味着也不构成TradingView提供或认可的金融、投资、交易或其它类型的建议或背书。请在使用条款阅读更多信息。

想在图表上使用此脚本?
//
// @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[1]) 
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)