嗨有可能在javascript中計算EMA嗎?使用javascript計算指數移動平均線(EMA)
對於EMA,我試圖應用的公式是本
EMA =陣列[I] * K + EMA(上)*(1 - K)
其中K是平滑因子:
K = 2 /(N + 1)
,N是那我要考慮
所以,如果我有像這樣的數值數組值範圍,而這個值時期成長:
var data = [15,18,12,14,16,11,6,18,15,16];
的目標是有一個函數,返回數組的EMA,因爲任何這個值,期望非常拳頭的「範圍」值,有這個EMA,對於每個數據項,我都有相關的EMA值。這樣我就可以全部使用或者只使用最後一個來「預測」下一個。
function EMACalc(Array,Range) {
var k = 2/(Range + 1);
...
}
我無法弄清楚如何做到這一點,任何幫助將apreciated
你不應該使用'Array'和'Range'爲參數的名稱,因爲要覆蓋本地JS對象 –
問題:通過'EMA =數組[我] * K + EMA(previous)*(1-K)'你的意思是EMA [i] = array [i] * K + EMA [i-1] *(1-K)'? –
Ok @ DanielG.Reina,明白了,是的,EMA [i]聽起來更好。因爲要計算出i項目的EMA,您應該知道i-1項目的EMA!對於第一個元素可以使用它的相同元素的值 –