[amibroker] Re: TTM Squeeze

2007-07-06 Thread polomorabe
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

2007-07-05 Thread mic6399
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

2007-07-05 Thread Arnie
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