Join our facebook group for Amibroker afl code discussion https://www.facebook.com/groups/603980776889348

Bollinger Band Bar Chart

Bollinger Band Bar Chart
Bollinger Band Bar Chart

//www.aflcode.com
_SECTION_BEGIN("");

function DblSmoothEMA( price, Length )
{
   period = IIf( Length < 0, 1, sqrt( Length ) );
   smooth = 2 / ( period + 1 );
   return AMA( AMA( price, smooth ), smooth );
}
price = ParamField("Price");
period = Param("period", 20, 2, 100 );
BandPct = Param("width[%]", 1.4, 0.1, 4, 0.1 );
DsEMA = DblSmoothEMA( price, period );
RangeDsEMA = DblSmoothEMA( H - L, period );
UpBand = BandPct * RangeDsEMA + DsEMA;
DnBand = DsEMA - BandPct * RangeDsEMA ;
Plot( C, "Price", colorBlack, styleBar );
Plot( UpBand , "UpBand", colorLightGrey );
Plot( DnBand , "DownBand", colorLightGrey );
// you may uncomment lines below to get 'cloud' chart
// if you are using version 4.80 or higher
// PlotOHLC( UpBand, UpBand, DnBand, DnBand, "Band",
// ColorRGB( 245,245,255), styleCloud );
SetTradeDelays( 1, 1, 1, 1 );
ADXThshold = 30;
ADXValue = ADX( 14 );
Buy = ADXValue <= ADXThshold AND Low <= DnBand;
Short = ADXValue <= ADXThshold AND High >= UpBand;
Sell = Cover = ADXValue > ADXThshold;
if( Status("action") == actionIndicator )
{
 
 PlotShapes( Buy * shapeUpArrow, colorGreen, 0, DnBand, -24 );
 PlotShapes( Sell * shapeDownArrow, colorRed, 0, UpBand, -24 );
 PlotShapes( Short * shapeHollowDownArrow, colorRed, 0, UpBand, -24 );
 PlotShapes( Cover * shapeHollowUpArrow, colorGreen, 0, DnBand, -24 );
}
_SECTION_END();
Previous
Next Post »