Darvas Box Indicator For MT5

Darvas Box Indicator For MT5

Table Of Contents:

  1. Darvas Box Indicator For MT5
  2. Instalando o Darvas Box Indicator For MT5
  3. Parâmetros da Darvas Box Indicator For MT5
  4. Buffers of the Darvas Box Indicator For MT5
  5. Principais partes do código

O Darvas Box Indicator For MT5 é baseado no trabalho de Nicolas Darvas. As caixas de Darvas são usadas para negociar em direção a novos máximos e novos mínimos. As caixas facilitam a detecção de tais fugas. Este indicador desenha um canal com base no cálculo da caixa de darvas. O limite superior do canal é desenhado na cor azul, enquanto o limite inferior do canal é desenhado na cor roxa.

FREE Darvas Box Indicator

Download the FREE Darvas Box Indicator for MT5.

To receive my email 100% sure: 
Put my email on your whitelist!

 

Partially Automated Trading Besides Your Day Job

Alerts In Real-Time When Divergences Occur

 

Instalando o Darvas Box Indicator For MT5

Depois de baixar o indicador através do formulário acima, você precisa descompactar o arquivo zip. Em seguida, você precisa copiar o arquivo darvasboxes.mq5 na pasta MQL5Indicators da sua instalação do MT5 . Depois disso, reinicie o MT5 e você poderá ver o indicador na lista de indicadores.

Parâmetros da Darvas Box Indicator For MT5

O Darvas Box Indicator For MT5 possui parâmetros 2 para configurar.

input bool symmetry=false; input int Shift=0; // Horizontal shift of the indicator in bars 

Buffers of the Darvas Box Indicator For MT5

O Darvas Box Indicator For MT5 fornece buffers 2 .

SetIndexBuffer(0,UpperBuffer,INDICATOR_DATA); SetIndexBuffer(1,LowerBuffer,INDICATOR_DATA); 

Principais partes do código

int OnCalculate(const int rates_total,    // number of bars in history at the current tick                 const int prev_calculated,// number of bars calculated at previous call                 const datetime &time[],                 const double &open[],                 const double &high[],                 const double &low[],                 const double &close[],                 const long &tick_volume[],                 const long &volume[],                 const int &spread[])   { //---- checking the number of bars to be enough for the calculation    if(rates_total lt start) return(0);  //---- indexing elements in arrays as timeseries      ArraySetAsSeries(high,true);    ArraySetAsSeries(low,true);  //---- declaration of integer variables    int limit,bar; //---- declaration of static variables    static int state,STATE;    static double box_top,box_bottom,BOX_TOP,BOX_BUTTOM;  //---- calculations of the  limit  starting index for the bars recalculation loop    if(prev_calculated gt rates_total || prev_calculated lt =0)// checking for the first start of the indicator calculation      {       limit=rates_total-start; // starting index for calculation of all bars       BOX_TOP=high[limit+1];       BOX_BUTTOM=low[limit+1];       STATE=1;      }    else      {       limit=rates_total-prev_calculated; // starting index for calculation of new bars      }  //---- restore values of the variables    state=STATE;    box_top=BOX_TOP;    box_bottom=BOX_BUTTOM;  //---- main indicator calculation loop        for(bar=limit; bar gt =0; bar--)      {       //---- store values of the variables before running at the current bar       if(rates_total!=prev_calculated && bar==0)         {          STATE=state;          BOX_TOP=box_top;          BOX_BUTTOM=box_bottom;         }        switch(state)         {          case 1:  box_top=high[bar]; if(symmetry)box_bottom=low[bar]; break;          case 2:  if(box_top lt =high[bar]) box_top=high[bar]; break;          case 3:  if(box_top gt high[bar]) box_bottom=low[bar]; else box_top=high[bar]; break;          case 4:  if(box_top  gt  high[bar]) {if(box_bottom  gt = low[bar]) box_bottom=low[bar];} else box_top=high[bar]; break;          case 5:  if(box_top  gt  high[bar]) {if(box_bottom  gt = low[bar]) box_bottom=low[bar];} else box_top=high[bar]; state=0; break;         }        UpperBuffer[bar] = box_top;       LowerBuffer[bar] = box_bottom;       state++;      } //----         return(rates_total);   } //+------------------------------------------------------------------+ 

 

About Me

I'm Mike Semlitsch the owner of PerfectTrendSystem.com. My trading career started in 2007. Since 2013 I have helped thousands of traders to take their trading to the next level. Many of them are now constantly profitable traders. 

The following performance was achieved by me while trading live in front of hundreds of my clients:

Connect With Me:  

Results From 5 Months!
This service starts soon! Be the first who get's notified when it begins!

This FREE Indicator Can Transform
Your Trading!

FREE Indicator + Telegram Group


Request the Ultimate Double Top/Bottom Indicator which is used by 10,000+ traders.