Indicadores: ColorZerolagMomentumOSMA

 

ColorZerolagMomentumOSMA:

Taxa de variação do indicador ColorZerolagMomentum suavizada, representada como um histograma colorido.

Fig.1. ColorZerolagMomentumOSMA

Autor: Nikolay Kositsin

[Excluído]  

Olá, gostaria de discutir este ponto. Nesse indicador, você tem uma verificação:

if(BarsCalculated(Momentum1_Handle)<rates_total
      || BarsCalculated(Momentum2_Handle)<rates_total
      || BarsCalculated(Momentum3_Handle)<rates_total
      || BarsCalculated(Momentum4_Handle)<rates_total
      || BarsCalculated(Momentum5_Handle)<rates_total
      || rates_total<min_rates_total)
      return(0);

Acontece que, se o número de barras em um dos indicadores usados for menor que rates_total, o indicador será recalculado completamente (porque return(0)). Não seria melhor colocar todas as verificações de igualdade com rates_total separadamente e, em caso de não correspondência, retornar(prev_calculated)? Porque assim apenas a última barra será recalculada (quando BarsCalculated() == rates_total) e não todo o histórico.

Agradeço antecipadamente pela resposta.

 
Tapochun:

Olá, gostaria de discutir este ponto. Nesse indicador, você tem uma verificação:

Acontece que, se o número de barras em um dos indicadores usados for menor que rates_total, o indicador será recalculado completamente (porque return(0)). Não seria melhor colocar todas as verificações de igualdade com rates_total separadamente e, em caso de não correspondência, retornar(prev_calculated)? Porque assim apenas a última barra será recalculada (quando BarsCalculated() == rates_total) e não todo o histórico.

Agradeço antecipadamente por sua resposta.

Sim, em princípio, sua lógica é bastante razoável. Tentei fazer dessa forma uma vez, mas algo não funcionou, mas não me lembro exatamente o que foi. Só me lembro que peguei o indicador nessa variante de código em alguma falha e decidi deixá-lo como estava.