[amibroker] Re: TTM Squeeze
Also discussed in the AB library: http://www.amibroker.com/library/detail.php?id=678 http://www.amibroker.com/library/detail.php?id=453 Hope this helpos, Paul
[amibroker] Re: TTM Squeeze
Here we go: SECTION_BEGIN(Squeesy); /* 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;iBarCount;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(); --- In amibroker@yahoogroups.com, Arnie [EMAIL PROTECTED] wrote: Hi, I was wondering whether anyone had the TTM Squeeze indicator. I have searched through the archives without really finding anything. Here is the link to Trade the Markets http://www.tradethemarkets.com/products/item5.cfm where it is described. Thanks, Alex Z
[amibroker] Re: TTM Squeeze
Thanks mic6399. Much appreciate your help on this. Alex Z --- In amibroker@yahoogroups.com, mic6399 [EMAIL PROTECTED] wrote: Here we go: SECTION_BEGIN(Squeesy); /* 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;iBarCount;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(); --- In amibroker@yahoogroups.com, Arnie alexz@ wrote: Hi, I was wondering whether anyone had the TTM Squeeze indicator. I have searched through the archives without really finding anything. Here is the link to Trade the Markets http://www.tradethemarkets.com/products/item5.cfm where it is described. Thanks, Alex Z