查看: 598|回复: 0

[其他语言] Rust计算EMA指标求助[悬赏8人气、15经验]

[复制链接]

1

技术

14

魅力

1

原创

退休版主

Rank: 8Rank: 8

积分
8187
人气
416
分享
59

论坛元老活跃会员灌水之王荣誉管理

发表于 2022-8-7 12:47:14 | 显示全部楼层 |阅读模式
我在使用Rust计算股市的EMA指标,但是似乎有一些问题。


EMA指标公式为:
[AppleScript] 纯文本查看 复制代码
Y = [2*X + (N-1) * Y’] / (N+1)

公式更多详细信息:
指数平均数_百度百科

Rust代码:
[AppleScript] 纯文本查看 复制代码
fn EMA(close: Vec<f64>, day: usize) -> f64 {
    // Y = [2*X + (N-1) * Y’] / (N+1)
    let mut cache: f64 = 0.00;
    // cache 即 Y'
    for i in 0..day + 1 {
        cache = (2 as f64 * close[i - 1] + (i - 1) as f64 * cache) / (i + 1) as f64;
    }
    cache
}


和某平台上面计算出来的精确到个位基本相同,但是精确到百分位后有一定区别。感觉很奇怪啊。。



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表