Absolute Strength_v1 Indicator For MT4
O Absolute Strength_v1 Indicator For MT4 é usado principalmente pelo profissional que deseja negociar com a principal tendência. Barras consecutivas vermelhas no histograma mostram que os vendedores estão no controle e as barras alongadas azuis mostram que os compradores estão no controle. Com base nas condições do mercado, é necessário procurar possíveis configurações comerciais.
Instalando o Absolute Strength_v1 Indicator For MT4
Depois de baixar o indicador através do formulário acima, você precisa descompactar o arquivo zip. Em seguida, você precisa copiar o arquivo AbsoluteStrenghtHisto_v1.mq4 na pasta MQL4Indicators da sua instalação do MT4 . Depois disso, reinicie o MT4 e você poderá ver o indicador na lista de indicadores.
Parâmetros da Absolute Strength_v1 Indicator For MT4
O Absolute Strength_v1 Indicator For MT4 possui parâmetros 7 para configurar.
extern int Mode =0; // 0-RSI method; 1-Stoch method
extern int Length= 9; // Period
extern int Smooth= 1; // Period of smoothing
extern int Signal= 4; // Period of Signal Line
extern int Price=0; // Price mode : 0-Close,1-Open,2-High,3-Low,4-Median,5-Typical,6-Weighted
extern int ModeMA= 3; // Mode of Moving Average
extern int Mode_Histo =3;
Buffers of the Absolute Strength_v1 Indicator For MT4
O Absolute Strength_v1 Indicator For MT4 fornece buffers 8 .
SetIndexBuffer(0,SmthBulls);
SetIndexBuffer(1,SmthBears);
SetIndexBuffer(2,SigBulls);
SetIndexBuffer(3,SigBears);
SetIndexBuffer(4,Bulls);
SetIndexBuffer(5,Bears);
SetIndexBuffer(6,AvgBulls);
SetIndexBuffer(7,AvgBears);
Principais partes do código
int start()
{
int shift, limit, counted_bars=IndicatorCounted();
double Price1, Price2, smax, smin;
//----
if(counted_bars lt 0)return(-1);
if(counted_bars ==0)limit=Bars-Length+Smooth+Signal-1;
if(counted_bars lt 1)
for(int i=1;i lt Length+Smooth+Signal;i++)
{
Bulls[Bars-i]=0;
Bears[Bars-i]=0;
AvgBulls[Bars-i]=0;
AvgBears[Bars-i]=0;
SmthBulls[Bars-i]=0;
SmthBears[Bars-i]=0;
SigBulls[Bars-i]=0;
SigBears[Bars-i]=0;
}
if(counted_bars gt 0) limit=Bars-counted_bars;
limit--;
//----
for( shift=limit; shift gt =0; shift--)
{
Price1=iMA(NULL,0,1,0,0,Price,shift);
Price2=iMA(NULL,0,1,0,0,Price,shift+1);
//----
if (Mode==0)
{
Bulls[shift]=0.5*(MathAbs(Price1-Price2)+(Price1-Price2));
Bears[shift]=0.5*(MathAbs(Price1-Price2)-(Price1-Price2));
}
if (Mode==1)
{
smax=High[Highest(NULL,0,MODE_HIGH,Length,shift)];
smin=Low[Lowest(NULL,0,MODE_LOW,Length,shift)];
Bulls[shift]=Price1 - smin;
Bears[shift]=smax - Price1;
}
}
for( shift=limit; shift gt =0; shift--)
{
AvgBulls[shift]=iMAOnArray(Bulls,0,Length,0,ModeMA,shift);
AvgBears[shift]=iMAOnArray(Bears,0,Length,0,ModeMA,shift);
}
for( shift=limit; shift gt =0; shift--)
{
SmthBulls[shift]=iMAOnArray(AvgBulls,0,Smooth,0,ModeMA,shift);
SmthBears[shift]=iMAOnArray(AvgBears,0,Smooth,0,ModeMA,shift);
}
if(Mode_Histo==1)
{
for( shift=limit; shift gt =0; shift--)
{
if(SmthBulls[shift]-SmthBears[shift] gt 0)
{
SetIndexStyle(0,DRAW_HISTOGRAM,EMPTY,5);
SetIndexStyle(1,DRAW_LINE,EMPTY,2);
SmthBears[shift]= SmthBears[shift]/Point;
SmthBulls[shift]= SmthBulls[shift]/Point;
}
else
{
SetIndexStyle(1,DRAW_HISTOGRAM,EMPTY,5);
SetIndexStyle(0,DRAW_LINE,EMPTY,2);
SmthBears[shift]= SmthBears[shift]/Point;
SmthBulls[shift]= SmthBulls[shift]/Point;
}
} //end for( shift=limit; shift gt =0; shift--)
} // end if(Mode_Histo == 1)
else
if(Mode_Histo==2)
{
for( shift=limit; shift gt =0; shift--)
{
if(SmthBulls[shift]-SmthBears[shift] gt 0)
{
SmthBears[shift]=-SmthBears[shift]/Point;
SmthBulls[shift]= SmthBulls[shift]/Point;
}
else
{
SmthBulls[shift]=-SmthBulls[shift]/Point;
SmthBears[shift]= SmthBears[shift]/Point;
}
} //end for( shift=limit; shift gt =0; shift--)
} //end if(Mode_Histo == 2)
else
if(Mode_Histo==3)
{
for( shift=limit; shift gt =0; shift--)
{
SigBulls[shift]= SmthBulls[shift];
SigBears[shift]= SmthBears[shift];
if(SmthBulls[shift]-SmthBears[shift] gt 0)
SmthBears[shift]=0;
else
SmthBulls[shift]=0;
} //end for( shift=limit; shift gt =0; shift--)
} //end if(Mode_Histo == 3)
else
if(Mode_Histo==4)
{
for( shift=limit; shift gt =0; shift--)
{
if(SmthBulls[shift]-SmthBears[shift] gt 0)
{
SigBears[shift]= SmthBears[shift];
SmthBears[shift]=0;
}
else
{
SigBulls[shift]= SmthBulls[shift];
SmthBulls[shift]=0;
}
} //end for( shift=limit; shift gt =0; shift--)
} //end if(Mode_Histo == 4)
//----
return(0);
}
//+------------------------------------------------------------------+