Professional Documents
Culture Documents
ZigZag Detect Lines-TT-v1.0
ZigZag Detect Lines-TT-v1.0
// v1.0: release
// Tonny Matos Siqueira - tmsiqueira@gmail.com
// Telegram: @tmsiqueira
// Parametros de configuracao //
// Colocar zero para ativar o ATR
// Ou colocar o valor de desvio
double deviation = 0;
//inicializa
for (int i=0; i<size ; i++)
{
bufS[i]=0;
bufT[i]=0;
}
for ( int i = ATRsmoothing; i < size; i++ )
{
if (deviation == 0) dev = atr.value(i-ATRsmoothing+1)*ATRmultiplicador; else dev
= deviation;
dir[i]=dir[i-1];
center[i]=center[i-1];
if ((cl.value(i)-center[i])>=dev) dir[i]=1;
else if ((cl.value(i)-center[i])<=-dev) dir[i]=-1;
lasthigh[i]=lasthigh[i-1];
lastlow[i]=lastlow[i-1];
def restart;
switch(dir[i])
{
case 1: //subindo
if (cl.value(i)>center[i]) center[i]=cl.value(i);
switch(dir[i-1])
{
case 1: //estava subindo, continuacao
for (restart=lastlow[i]+1;restart<=i;restart++)
{
bufS[restart]=cl.value(i)-cl.value(lastlow[i]);
bufT[restart]=i-lastlow[i];
}
if(cl.value(i)>cl.value(lasthigh[i]))
{
lasthigh[i]=i;
}
break;
r = cds;