我正在尝试使用此脚本计算EMA。 但这不能给我正确的EMA。 这可能有很多原因,但是我不确定这是什么。 我为EMA尝试了不同的公式,但没有任何更好的结果,我实际上不是专业的编码人员也不是数学家,因此我看不到自己在做错什么。
如何随时间计算EMA值?对于第一个值,我使用SMA计算了第一个EMA,我想这应该起作用-对吗?
我的EMA值 = 0.033144798412698406
实际EMA值 = 0.033084
Close = last closing price
Period = 20;
Multiplier = (2 / (period + 1));
function calculateEMA() {
if (EMA == 0) {
EMA = (Close - SMA) * multiplier + SMA;
calculateEMA();
} else {
for (a = 0; a < period; a++) {
EMA = (Close - previous_ema) * multiplier + previous_ema;
console.log(EMA + " ema");
previous_ema = EMA;
}
}
}
// 更新添加了我的整个脚本(可以运行)-https://pastebin.com/91GEuATM 您需要安装Nodejs和binance节点api(npm install node-binance-api --save);请记住,这只是我的“测试脚本”,因此是所有奇怪的变量名等。
// 更新2 标记样本数据https://pastebin.com/AFzf7GwQ