- Jurik
- Todos os indicadores de John Ehlers...
- Ajuda na codificação
Criei alguns indicadores que funcionam normalmente, mas a partir de certo momento eles param de atualizar sozinho e tenho que ficar atualizando para conseguir ver o resultado. Alguém consegue me explicar por que isso acontece e o que eu tenho que fazer para consertar?
Olá! Boa noite! Estou com o mesmo problema
Se usarmos: prev_calculated == rates_total o indicador atualiza a cada barra de gráfico que aparece.
- www.mql5.com
Se usarmos: prev_calculated == rates_total o indicador atualiza a cada barra de gráfico que aparece.
Você não deve fazer isto. O motivo é que pode acontecer, de em algum momento, o indicador parar de atualizar os dados. O correto é você LERos dados a partir do prev_calculated até o ( rates_total - 1 ) e fazer os cálculos sobre estes valores obtidos, armazenados ou manipulando os valores conforme necessário. Por exemplo:
int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[]) { for (int c0 = prev_calculated; c0 < rates_total; c0++) { // .... calculo do indicador com atualização do buffer .... } return rates_total; }
Este laço for irá sempre calcular os dados não calculados ainda, porém que estão sendo informados pelo MetaTrader 5. Note que iremos sempre começar no primeiro valor ainda não calculado e iremos até a última posição menos um. Depois que a função OnCalculate retornar para o controle do MetaTrader 5, ela não será chamada novamente, até que ocorra um novo evento e o MetaTrader 5 a dispare novamente. Quando isto acontecer o valor de prev_calculated já se encontrará atualizado para a última posição que tinha sido calculada. E o valor rates_total estará indicando a última nova posição. Por conta disto é que tais valores são declarados como constantes. É justamente para que você não os altere. Assim como a linha return rates_total, ela é usada justamente para que o MetaTrader 5, saiba e atualize o valor de prev_calculated.
Ao codificar as coisas da forma como mostradas acima você sempre estará executando tudo corretamente. Isto por conta que o MetaTrader 5, irá ele mesmo atualizar o valor de prev_calculated e rates_total ... VOCÊ NÃO DEVE TENTAR ATUALIZAR ESTES VALORES.
Espero ter esclarecido a duvida de vocês. 😁👍
Criei alguns indicadores que funcionam normalmente, mas a partir de certo momento eles param de atualizar sozinho e tenho que ficar atualizando para conseguir ver o resultado. Alguém consegue me explicar por que isso acontece e o que eu tenho que fazer para consertar?
Criei alguns indicadores que funcionam normalmente, mas a partir de certo momento eles param de atualizar sozinho e tenho que ficar atualizando para conseguir ver o resultado. Alguém consegue me explicar por que isso acontece e o que eu tenho que fazer para consertar?
Boa tarde. Eu estava com esse mesmo problema e descobri a causa.... É o seguinte... Plataformas pagas nas corretoras brasileiras tem prioridade de ping's com baixíssimas latências. O que isso significa ???? O preço se movimenta do ponto A para o ponto B e o gráfico fica derrapando...Como resolver esse problema ???? Simples...Diminuir ao máximo a quantidade de indicadores usado no MT5.... Procurar por indicadores que são mais simples e objetivos e que não são pesados .... Indicadores danados para dá esse problema ( market profile, didi index, closters ..) Como resolver...Tente adequar sua leitura do didi index em outro indicador de preferencia nativo, ou.... atualize sua maquina ( I9,I7..) e melhore a velocidade de sua internet contratando internet com disponibilidade de baixa latência.Quantos as corretoras,procure uma corretora que disponibilize mais que um servidor para o MT5, exemplo... a clear disponibiliza 6 ao todo e mesmo assim para operar mercado nacional ( B3) dá problemas as vezes usando o MT5. Resumindo tudo... melhore sua maquina, melhore sua internet e opere mercado de fora do Brasil.
Acredito que você está com problemas em algum indicador, como não tem como saber tente diminuir o numero de barras que o Mt5 carrega
vá em Ferramenta/Opções/Gráficos/Máx barras no gráfico e diminua pra 50000 ou menos.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso