pine_ema ((src, panjang) => alpha = 2 / (panjang + 1) jumlah = 0,0 jumlah:= na(jumlah[1])? sma(src, panjang) : alfa * src + (1 - alfa) * nz(jumlah[1]) plot ((pine_ema ((close,15))
Rumus EMA TV sum:= na ((sum[1])? sma ((src, length)): alpha * src + (1 - alpha) * nz ((sum[1]) Saya tidak mengerti, apakah ada yang bisa membantu menerjemahkan ke python, terima kasih.
Catatan:
MAIKEOIni adalah fungsi ema yang ditulis dengan baik dalam JavaScript, yang penting untuk dicatat adalah bahwa dalam array sumber, indeks dan parameter panjang dihitung dalam kondisi yang berbeda.
MAIKEOfungsi ema (src, panjang) { var arr = []; var sum = 0; var alpha = 2 / (panjang + 1) Aku tidak tahu. untuk ((vari i di src) { if( i< panjang-1) { arr[i] = nol; jumlah += src[i]; {\cH00FFFF} Aku tidak tahu. if(i==panjang-1) { arr[i] = (jumlah+src[i])/panjang; {\cH00FFFF} Aku tidak tahu. { lainnya arr[i] = alpha * src[i] + (1 - alpha) * arr[i-1] {\cH00FFFF} {\cH00FFFF} kembali arr; {\cH00FFFF}
RumputAlgoritma ewm dapat ditulis sendiri, yaitu ewm = alpha*close+(1-alpha) *ewm
Babi.
RumputAlgoritma tidak sama, ada perbedaan halus yang dapat Anda lakukan tanpa mempertimbangkan, seperti bagaimana nilai pertama harus diambil dengan metode iteratif, pilih sendiri salah satu dan lakukan.
Babi.Seperti hasilnya tidak sama dengan ewma. def EMA ((ps, period=5, exp=0.1): ewma=pd.Series ((0.0,index=ps.index) ewma[period-1]=ps[:period].mean ((() Untuk i in range (period, len (ps)): ewma[i] = exp*ps[i]+(1-exp) *ewma[i-1] return ewma