Início Indicador técnico Postagem

Descubra o Valor dos Parâmetros OnCalculate - Indicador para MetaTrader 5

Anexo
23841.zip (9.13 KB, Baixar 0 vezes)

Se você está começando a programar indicadores ou simplesmente quer entender melhor como funcionam os valores retornados pela função OnCalculate, este utilitário é para você! O indicador exibe:

  • O valor mais recente retornado pela última chamada de OnCalculate.
  • O valor anterior da chamada de OnCalculate anterior.
  • O primeiro valor desde a primeira execução do OnCalculate.
  • Os valores de cada série de arrays, tanto as_series quanto not_series, permitindo alterar o valor da série com um clique na exibição.

Na versão 1.10, adicionamos a funcionalidade de alterar dinamicamente se os arrays estão configurados como as_series ou not_series – basta clicar no texto! Além disso, os valores de Window Bars e First visible Bar são ajustados dinamicamente com as mudanças no gráfico. A exibição ON/OFF indica o que acontecerá com as configurações na próxima execução do OnCalculate, em comparação com a execução mais recente.

A versão 1.20 traz a opção de escolher se o indicador deve definir os arrays como as_series ou not_series, também apenas clicando no texto. Agora, o indicador exibe as extremidades do array de tempo e ambas as extremidades do buffer iMA. Essas mudanças têm o objetivo de deixar clara a diferença entre arrays as_series e not_series. Além disso, a exibição agora é atualizada conforme necessário usando o OnTimeEvent, em vez de atualizar a cada cotação, reduzindo o tempo de execução do OnCalculate de cerca de 300 ms para menos de 1 ms.

Esta imagem mostra os valores que o utilitário OnCalculate_Values exibe. Note os três valores, separados por '/', que representam o Valor Mais Recente, Valor Anterior e Primeiro Valor. Os valores de OnCalculate são definidos como 'as_series' ou 'not_series' em cada evento de OnCalculate – quando Set Arrays está 'ON', do contrário, eles permanecem com o valor padrão do terminal. Veja o valor entre parênteses após os nomes dos arrays, que indica de qual barra o valor provém – o valor do índice '0' ou o 'valor no índice máximo'.

OnCalculate Values Display

O código implementa uma linha única de indicador, um gráfico do preço de abertura de cada barra fornecido pelo iMA; o objetivo é fornecer um buffer para usar a função BarsCalculated e mostrar a exibição de um Indicador quando configurado como as_series ou not_series. Clicar em iMA_Val[0] define o buffer iMA como as_series ou not_series apenas uma vez, no momento do clique; o array do indicador iMA não é configurado a cada chamada de OnCalculate.

Uma coleção de arrays armazena as propriedades de cada um dos objetos de exibição (OBJ_LABEL) na exibição:

A função ArrayGetAsSeries é utilizada para determinar se os arrays nos parâmetros de OnCalculate são arrays de séries temporais ou não, e a exibição mostra o resultado (As_Series ou Not_Series) – a exibição mostra que esses arrays não são séries inicialmente ou de uma chamada para outra após serem configurados como séries (a função SetAsSeries os define como séries apenas quando está ativada; ela permite que revertam para o padrão quando desativada – não define 'as series' como falso).

A matriz de 3 membros, ary_OnCalcVals, guarda 1) o Valor Mais Recente, 2) o Valor Anterior e 3) o Primeiro Valor encontrado nos parâmetros de OnCalculate. As funções CopyNewToOld e MoveNewTo pegam o valor atual de cada parâmetro de exibição e o armazenam na memória histórica fornecida por ary_OnCalcVals.

Publicações relacionadas

Comentário (0)