你好,是否可能在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数组,因为除了第一个“Range”值之外的任何这些值都具有此EMA,对于数据中的每个项目,我都有相关的EMA值。 通过这种方式,我可以使用所有值或仅使用最后一个值来“预测”下一个值。
function EMACalc(Array,Range) {
var k = 2/(Range + 1);
...
}
我不知道如何实现这个,希望能得到帮助。
Array
和Range
作为参数名称,因为这会覆盖原生的 JS 对象。 - Daniel ReinaEMA = array[i] * K + EMA(previous) * (1 – K)
,您的意思是EMA[i] = array[i] * K + EMA[i - 1] * (1 – K)
吗? - Daniel Reina