Início Negociação Sistemática Postagem

Como Detectar uma Nova Barra no MetaTrader 5 de Forma Eficiente

Anexo
49171.zip (462 bytes, Baixar 0 vezes)

No código anterior, utilizei o tempo para detectar uma nova barra. Desta vez, vamos usar a contagem de barras para identificar uma nova barra. Essa abordagem é muito mais leve e rápida do que a utilização do método baseado em tempo.

  • Declare as variáveis no tipo de dado inteiro para armazenar a contagem de barras.
  • Atribua a contagem de barras à variável BarsTotal_OnInt na inicialização.
  • Use a função iBars(); para atribuir a contagem de barras à variável BarsTotal_OnTick no gráfico ao vivo. Essa variável é atualizada a cada tick.
  • Utilize comentários e alertas para verificar a precisão do código.

int BarsTotal_OnInt; 
int BarsTotal_OnTick;
//+------------------------------------------------------------------+
//| Função de inicialização do Expert                                   |
//+------------------------------------------------------------------+
int OnInit()
  {  
   BarsTotal_OnInt = iBars(NULL,PERIOD_CURRENT); // Atribui o total de barras na inicialização
   return(INIT_SUCCEEDED);
  }
  
void OnTick() // Função OnTick
  {   
   BarsTotal_OnTick = iBars(NULL,PERIOD_CURRENT); // Armazena a quantidade atual
   
   if(BarsTotal_OnTick > BarsTotal_OnInt) // Nova barra chegou
   {
    BarsTotal_OnInt = BarsTotal_OnTick; // Atualiza o histórico.
    Alert("Uma Nova Barra chegou!");
    Comment("Contagem de Barras no histórico -: ", BarsTotal_OnInt, "\n", "Contagem de Barras ao Vivo -: ", BarsTotal_OnTick);

     // Seu código vai aqui. --------------------------
    // Você pode atualizar uma "flag" / variável para usar depois também.

   }
  }

    Publicações relacionadas

    Comentário (0)