Skip to main content

Bollinger Breakout Exploration for Amibroker (AFL)

tiptipon over 12 years ago Amibroker (AFL)

  • Rating:
    2 / 5 (Votes 5)
  • Tags:
    amibroker, exploration

This is not a trading system, but an exploration

Indicator / Formula

Copy & Paste Friendly
Length = 14;
Price = EMA(Close, Length);
  
// Keltner 
kLength = Length;
kN = 1.5;
kATR = ATR(kLength);
kUpper = Price + kN * kATR;
kLower = Price - kN * kATR;
  
// Bollinger
bbLength = Length;
bbN = 2;
bbStDevValues = StDev(Close, bbLength);
bbUpper = Price + bbN * bbStDevValues;
bbLower = Price - bbN * bbStDevValues;
  
IsBBSqueeze = bbUpper <= kUpper AND bbLower >= kLower;
 
Proportion = (kUpper - kLower) / (bbUpper - bbLower);
BBBreakout = Cross(1,Proportion); 
Periods = Param("BBPeriods", 14, 2, 300, 1 );
Width = Param("Width", 2, 0, 10, 0.05 );
Color = ParamColor("Color", colorCycle );
Style = ParamStyle("Style");
bbtop=BBandTop( C, Periods, Width );
bbbot=BBandBot( C, Periods, Width );
Plot(bbtop, "", Color, Style ); 
Plot(bbbot , "", Color, Style );
 
sqeezcolor=ColorRGB(194,220,218);
 
PlotOHLC( bbtop,bbtop, bbbot,bbbot, "",IIf(IsBBSqueeze,colorYellow,colorWhite), styleCloud|styleNoRescale,   Null, -1 );
Plot(Close,"Close",colorGreen,styleCandle); 
 
Filter = BBBreakout;
 
AddColumn(BBBreakout, "BB Breakout", 1, colorWhite, IIf(BBBreakout==1, colorRed, colorWhite));
//set default sorting to Date/time in descending order in results window
SetSortColumns(-2);

2 comments

over 12 years ago

@ Tiptopon
First of all nice concept.
and I apologize to u coz without ur permission i’m suggesting u some changes in ur code

U had lots of multiple declarations in ur code. i removed those even changed the way Cloud appear. now Price appears on the cloud. i guess tht’s wht u wanted.

Sorry if i offended u.

Here is the code :

Length = Param("Band Length", 14, 2, 300, 1 );
Width = Param("BB Width", 2, 0, 10, 0.05 );
bbColor = ParamColor("Cloud Color", colorLightGrey );
sqzColor = ParamColor("Sqeez Color", colorOrange );

kn = Param("\nKeltner Width", 1.5, 0, 10, 0.05 );

Price = EMA(Close, Length);
   
// Keltner 
kATR = ATR(Length );
kUpper = Price + kN * kATR;
kLower = Price - kN * kATR;
   
// Bollinger
bbStDevValues = StDev(Close, Length );
bbUpper = Price + Width * bbStDevValues;
bbLower = Price - Width * bbStDevValues;
   
IsBBSqueeze = bbUpper <= kUpper AND bbLower >= kLower;
  
Proportion = (kUpper - kLower) / (bbUpper - bbLower);
BBBreakout = Cross(1,Proportion); 
Plot(bbUpper , "", colorYellow, styleLine ); 
Plot(bbLower , "", colorYellow, styleLine );
  
Plot(Close,"Close",colorBlack,styleCandle); 
  
PlotOHLC( bbUpper ,bbUpper , bbLower ,bbLower , "",IIf(IsBBSqueeze,sqzColor ,bbColor ), styleCloud|styleNoRescale,0,0,0,-1);
  
Filter = BBBreakout;
  
AddColumn(BBBreakout, "BB Breakout", 1, colorWhite, IIf(BBBreakout==1, colorRed, colorWhite));
//set default sorting to Date/time in descending order in results window
SetSortColumns(-2);
over 12 years ago

for those who r facing problem in my version plz go to

http://www.4shared.com/file/PFiMkDQt/BB_Sqz.html

Leave Comment

Please login here to leave a comment.