EMA의 지원

저자: 돼지, 제작: 2021-01-08 00:08:49, 업데이트: 2021-01-08 13:41:42

pine_ema ((src, 길이) => 알파 = 2 / (길이 + 1) 합 = 0.0 sum:= na(sum[1])? sma(src, length) : 알파 * src + (1 - 알파) * nz(sum[1]) 플롯 ((pine_ema ((close,15))

TV의 EMA 공식 sum:= na ((sum[1])? sma ((src, length)): alpha * src + (1 - alpha) * nz ((sum[1]) 이 부분은 이해가 안되는데, 파이튼으로 번역해 줄 수 있나요? 감사합니다.

참고:

  1. df[close].ewm ((span=110,adjust = False).mean()
  2. talib.EMA ((np.array ((close), timeperiod=110) 이 테스트 결과는 TV와 일치하지 않습니다. 50보다 작은 확률은 동일합니다. 100보다 큰 확률은 동일하지 않습니다.

더 많은

마이케오자바스크립트의 ema 함수입니다. 자바스크립트의 ema 함수입니다. 자바스크립트의 ema 함수입니다. 자바스크립트의 ema 함수입니다.

마이케오함수 ema ((src, 길이가) { var arr = []; var sum = 0; var alfa = 2 / (길이 + 1) 수 (이하 수) if(i<길이-1) { arr[i] = null; 수 += src[i]; ♪ ♪ if(i==길이-1) { arr[i] = (sum+src[i])/length ♪ ♪ 다른 것 arr[i] = 알파 * src[i] + (1 - 알파) * arr[i-1] ♪ ♪ ♪ ♪ arr 를 반환합니다. ♪ ♪

초목ewm 알고리즘은 ewm = alpha*close+(1-alpha) *ewm로 작성할 수 있습니다.

돼지。 현재는 exp=0.1을 수정하여 근사값을 얻었다。 감사합니다。

초목알고리즘은 매우 다르며, 몇 가지 미묘한 차이점이 있습니다. 예를 들어, 반복적인 방법을 사용하여 첫 번째 값을 어떻게 가져야하는지, 스스로 하나를 선택하면 실행됩니다.

돼지EWMA와 같은 결과가 나오지 않는 것 같습니다. def EMA ((ps,period=5,exp=0.1)): ewma=pd.Series (0.0,index=ps.index) ewma[period-1]=ps[:period].mean ((() for i in range (period, len (ps)): ewma[i] =exp*ps[i]+(1-exp) *ewma[i-1] return ewma