Vamos voltar ao básico!
A Média Móvel Exponencial (EMA) é um indicador bastante simples, e o tempo de execução do código não deve variar muito entre as versões (já que a EMA não possui loops dentro de loops). Porém, ainda sentimos a falta de um código fácil de reutilizar que seja rápido na execução. Esta versão ajuda a suprir essa necessidade.
Nota: estou utilizando o modo alternativo de
OnCalculate()- esse modo:int OnCalculate( constint rates_total, // tamanho do array price[] constint prev_calculated, // número de barras tratadas na chamada anterior constint begin, // índice do primeiro dado significativo no array price[] constdouble& price[] // array de valores para cálculo );
Esse modo tornará o tempo de execução ainda mais curto e rápido (obter o preço escolhido através de uma função consome um pouco de tempo - não muito, mas comparado a uma versão que não precisa fazer isso, dá para notar). Mas, para manter a flexibilidade, estou utilizando o modo "padrão". Também, fazer uma versão de uma única cor tornaria tudo mais rápido, mas, e a diversão nisso? :)



Comentário 0