Stock Portfolio Organizer

The ultimate porfolio management solution.

Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
For Portfolio Manager Click Here

WiseTrader Toolbox

#1 Selling Amibroker Plugin featuring:

Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
Find Out More Here

MACD with BB Squeeze for Amibroker (AFL)

Rating:
3 / 5 (Votes 2)
Tags:
macd, amibroker, alerts

MACD with BB Squeeze with alerts. Not much more you can say here.

Screenshots

Similar Indicators / Formulas

Zero Lag MACD
Submitted by kaiji over 9 years ago
MACD Dema Indicator
Submitted by Peixoto over 9 years ago
MACD with Bollinger Bands
Submitted by MIKE1 over 9 years ago
Aggresssive AFL
Submitted by vishyvishy over 9 years ago
BB and Keltner Squeeze
Submitted by ford7k over 9 years ago
Great Summary
Submitted by hkeng over 9 years ago

Indicator / Formula

Copy & Paste Friendly
_SECTION_BEGIN("Unnamed 6");
/*
BB Squeeze (conversion for TS code)


Instructions
Insert Linked to new chart pane
Periods can be selected in Param window
*/

Price = Close;
Length = Param("Length",20,2,100,1); // { Length for Average True
//Range (ATR)}
Lenght1 = Param("Length1",20,2,100,1); // { Std. Deviation (SD)
//Calcs }

nK = Param("Channel ATRs",1.5,0.1,2,0.1); //{ Keltner Channel ATRs
//from Average }
nBB = Param("BB Std Devs",2,0.1,3,0.1); // { Bollinger Band Std.
//Devs. from Average }
AlertLine = Param("AlertLine",1,0,3,1); //{ BBS_Index level at which
//to issue alerts }

NormalColor = colorRed; //{ Normal color for BBS_Ind }
AlertlColor = colorBlue; //{ Color for BBS_Ind below alert line }


LHMult = Nz(PointValue/TickSize);

//{-- Calculate BB Squeeze Indicator ----------------------}
AvgTrueRange = ATR(Length);
SDev = StDev(Price, Length);

Denom = nK*AvgTrueRange;
BBS_Ind = Nz((nBB * SDev) /Denom);

SetPlotColor = IIf( BBS_Ind < Alertline, NormalColor, AlertlColor);
BBcrossDown = Cross(AlertLine,BBS_Ind);
BBcrossUp = Cross(BBS_Ind,AlertLine);

SetChartOptions( 0, chartShowDates|chartWrapTitle );
GraphXSpace=10;
//_N(Title = "{{NAME}} - {{INTERVAL}} {{DATE}} "+_DEFAULT_NAME()+" :
//{{OHLCX}} {{VALUES}}");
//+"\nALERT: "+WriteIf(BBcrossDown,"BB Squeeze Alert",WriteIf
//(BBcrossUp,"BB Squeeze Is Over","")) );


//{-- Plot the Index & Alert Line -------------------------}
Plot(0, "BBS_Ind", SetPlotColor, styleDots );

//{-- Plot delta of price from Donchian mid line ----------}
value2 = LinearReg( price-((HHV(H, Lenght1)+LLV(L, Lenght1))/2+ MA
(C,Lenght1))/2, Lenght1);
color = IIf( value2 > 0, IIf( value2 > Ref(value2,-1), colorGreen,
colorDarkGreen),
IIf( value2 < 0, IIf( value2 < Ref(value2,-1), colorRed,
colorDarkRed ), colorYellow ));

Plot(value2*LHMult, "NickmNxtMove", color, styleArea );
Plot(value2,"BB Squeeze",color, styleArea );
//{-- Issue Alert when the Squeeze is On ------------------}
//"ALERT";
//Write alerts to Interpretation window
//Ticker = Name();
//WriteIf(BBcrossDown,Ticker + " " + "BB Squeeze Alert" ,WriteIf
//(BBcrossUp,Ticker + " " + "BB Squeeze Is Over",""));

//Write alerts to Alert Output window
AlertIf(BBcrossDown,"","BB Squeeze Alert",0);
AlertIf(BBcrossUp,"","BB Squeeze Is Over",0);

//Sound alerts
//AlertIf( BBcrossDown, "SOUND
//C:\\Windows\\Media\\RINGIN.WAV", "Audio alert", 2 );
//AlertIf( BBcrossUp, "SOUND C:\\Windows\\Media\\RINGIN.WAV", "Audio
//alert", 2 );


//Write text to screen
/*
for(i=1;i<BarCount;i++)
{
if(BBcrossDown[i])
{
PlotText("BB Squeeze Alert",i,-6,colorWhite);
}
if(BBcrossUp[i])
{
PlotText("BB Squeeze Is Over",i,-3,colorWhite);
}
}
*/
PlotShapes(shapeUpArrow*BBcrossDown,colorBrightGreen,0,0);
PlotShapes(shapeDownArrow*BBcrossup,colorBrightGreen,0,0);

_SECTION_END();

0 comments

Leave Comment

Please login here to leave a comment.

Back