pine_ema ((src, comprimento) => alfa = 2 / ( comprimento + 1) soma = 0,0 soma:= na(sum[1])? sma(src, comprimento) : alfa * src + (1 - alfa) * nz(sum[1]) Plano ((pine_ema ((fechado,15))
A fórmula EMA da TV é sum: = na ((sum[1])? sma ((src, length)): alpha * src + (1 - alpha) * nz ((sum[1]) Não entendi muito, mas pode ajudar a traduzir para Python, obrigado.
Nota de rodapé
O MAIKEOEsta é uma função ema em JavaScript bem escrita, e o importante é que, no conjunto de fontes, o índice e o parâmetro de comprimento são calculados em diferentes condições.
O MAIKEOfunção ema (src, comprimento) { var arr = []; var sum = 0; var alfa = 2 / ( comprimento + 1) - Não. para ((var i em src) { se ((i< comprimento-1)) { arr[i] = nulo; soma += src[i]; - Não. - Não. se ((i== comprimento-1) { arr[i] = (suma+src[i])/longitude; - Não. - Não. Outras arr[i] = alfa * src[i] + (1 - alfa) * arr[i-1] - Não. - Não. Retorno arr; - Não.
Ervas daninhasO algoritmo ewm pode ser escrito por si mesmo, especificamente ewm = alpha*close+(1-alpha) *ewm
Porco-espinho
Ervas daninhasAlgoritmos não são muito iguais, há diferenças sutis que podem ser ignoradas, como por exemplo, como o primeiro valor deve ser obtido usando o método iterativo, escolha o seu próprio.
Porco-espinhoParece que o resultado não é o mesmo do ewma. def EMA ((ps, period=5, exp=0.1)): ewma=pd.Series ((0.0,index=ps.index) ewma[periodo-1]=ps[:period].mean ((( For i in range (período, len (ps)): ewma[i] = exp*ps[i]+(1-exp) *ewma[i-1] retorno ewma