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
- MACD Sample: Um Guia Prático para o Expert Advisor no MetaTrader 5
- Baixe Todo o Histórico de Ticks de um Símbolo no MetaTrader 5
- MasterMind 2: O Robô de Trading para MetaTrader 4 que Você Precisa Conhecer
- Trader Automático: RSI e MFI com Otimização Automática para MetaTrader 4
- CoensioTrader1V06: Sistema de Trading Automático para MetaTrader 5