LazyBear

Trading Strategy based on BB/KC squeeze

**** [Edit: New version (v02) posted, see the comments section for the code *****

Simple strategy. You only consider taking a squeeze play when both the upper and lower Bollinger Bands go inside the Keltner Channel. When the Bollinger Bands (BOTH lines) start to come out of the Keltner Channel, the squeeze has been released and a move is about to take place.

I have added more support indicators -- I highlight the bullish / bearish KC breaches (using GREEN/RED crosses) and a SAR to see where price action is trending.

Appreciate any feedback. Enjoy!

Color codes for v02:
----------------------------
When both the upper and lower Bollinger Bands go inside the Keltner Channel, the squeeze is on and is highlighted in RED.
When the Bollinger Bands (BOTH lines) start to come out of the Keltner Channel, the squeeze has been released and is highlighted in GREEN.
When one of the Bollinger Bands is out of Keltner Channel, no highlighting is done (this means, the background color shows up, so don't get confused if you have RED/GREEN in your chart's bground :))

Color codes for v01:
----------------------------
When both the upper and lower Bollinger Bands go inside the Keltner Channel, the squeeze is on and is highlighted in YELLOW.
When the Bollinger Bands (BOTH lines) start to come out of the Keltner Channel, the squeeze has been released and is highlighted in BLUE.
Remove from Favorite Scripts Add to Favorite Scripts
//
// @author LazyBear
// @credits http://www.hiltinvestmentfund.com/html/squeeze.html
// Trading strategy based on Bollinger Bands & Keltner Channel. Added SAR / Highlights to make it really easy ;)
// v01 - initial release
//
study(shorttitle = "TS 1 [LB]", title="Trading strategy [BB / KC] [LazyBear]", overlay=true)

length = input(20, minval=1, title="Length"), mult = input(1.0, minval=0.001, maxval=50, title="MultFactor")
// showBarColor = input(true, title="Highlight Bear/Bull points (KC)", type=bool)
showBarColor = false
useTrueRange = input(false, title="Use TrueRange (KC)", type=bool)
// Note that "highlightStrategy" takes precedence over showBarColor. 
highlightStrategy = input(true, title="Highlight strategy points", type=bool)

startSAR = input(0.02, title="Start (SAR)")
incrementSAR = input(0.02, title="Increment (SAR)")
maximumSAR = input(0.2, title="Maximum (SAR)")

// Calculate BB
source = close
basis = sma(source, length)
dev = mult * stdev(source, length)
upperBB = basis + dev
lowerBB = basis - dev
plot(basis, color=red, linewidth=2)
p1 = plot(upperBB, color=red,  linewidth=2)
p2 = plot(lowerBB, color=red, linewidth=2)
fill(p1, p2, color = red)

// Calculate KC
ma = ema(source, length)
range = useTrueRange ? tr : high - low
rangema = ema(range, length)
upper = ma + rangema * mult
lower = ma - rangema * mult
c = lime
u = plot(upper, color=c, title="Upper")
plot(ma, color=c, title="Basis")
l = plot(lower, color=c, title="Lower")
fill(u, l, color=green, transp=80)

offset = 2
bearish = low < lower
bear_point = bearish ? (low-offset) : na
bear_color = bearish ? red : na
bullish = high > upper
bull_point = bullish ? (high+offset) : na
bull_color = bullish ? green : na

bar_color = bearish ? bear_color : (bullish ? bull_color : na)
plot(bear_point, color = bear_color, style=cross, linewidth=2)
plot(bull_point, color = bull_color, style=cross, linewidth=2)

bgcolor((showBarColor and not highlightStrategy) ? bar_color : na)

strat_sqz_color = ((upperBB < upper) and (lowerBB > lower)) ? yellow : blue
bgcolor(highlightStrategy ? strat_sqz_color : na)

// SAR
outSAR = sar(startSAR, incrementSAR, maximumSAR)
plot(outSAR, style=cross, color=blue)
List of my free indicators: http://bit.ly/1LQaPK8
List of my indicators at Appstore: http://blog.tradingview.com/?p=970

Comments

Goodmorning Sir . I am a boy of Italian What follows recently trading and are still being studied and wondered if Your Indicator ( trading strategy based on BB / KC SQUEEZE ) , can work with INDEX ITA40 DAX30 and CAC40 . With graphic hour seems to work fine , I advice to match another indicator to confirm entry to the market , or not ?
thanks for your time and congratulations for the work done by you and most of all for sharing.
+3 Reply
Giving this a try
+2 Reply
LazyBear CrankMan
Thx. Also, try my custom COG channel - . It employs the same squeeze logic.
+5 Reply
New version (v02) posted - http://pastebin.com/biVqEdg4

Appreciate any feedback/comments.

Changelog:
-----------------
- Fixed the SqzRelease condition (only if both BB lines come out, it is marked as a "release").
- Changed the color codes
- Updated the default multFactor to be 2

Sample Chart:
------------------

+2 Reply
pantheo LazyBear
Great work my friend! I love this technique and using it when chance present during the last two years since Fibline recommended it in ST first and at his Gensai blog later. I'll try yours now. The only thing missing now is an automatic database search to publish the squeeze information in advance, before release, in trading instruments and timeframes. I guess could be done easily using even BB% or BB width as criteria when hit the lower levels. All the best to you and yours my friend:-) Panos
+1 Reply
LazyBear pantheo
Thx :)
Reply
Hi , Do you have this indicator for MT4
Reply
LazyBear Khanbilalabid
Nope, sorry. I dont use MT4,
Reply
craunico LazyBear
Hi Looks like a great indicator. However, what trading platform is it for, TOS?


Thanks
Reply
LazyBear craunico
The code shown above is for TradingView.
+1 Reply
Home Stock Screener Forex Screener Crypto Screener Economic Calendar How It Works Chart Features Pricing Refer a friend House Rules Help Center Website & Broker Solutions Widgets Charting Solutions Lightweight Charting Library Blog & News Twitter
Profile Profile Settings Account and Billing Referred friends Coins My Support Tickets Help Center Ideas Published Followers Following Private Messages Chat Sign Out