EMA pede ajuda

Autora:Porco-espinho, Criado: 2021-01-08 00:08:49, Atualizado: 2021-01-08 13:41:42

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é

  1. Df[close].ewm ((span=110, ajuste = Falso).mean(
  2. talib.EMA ((np.array ((close), timeperiod=110) Os resultados dos testes não são consistentes com os resultados da TV (menos de 50 são as mesmas probabilidades) e maiores de 100 são os mesmos.

Mais.

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── atualmente obtém-se um valor aproximado modificando exp=0.1。

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