微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

TradingView Pine Script RMA如何工作?

如何解决TradingView Pine Script RMA如何工作?

我遇到了想要实现与交易视图中相同的指标的问题,但是我无法正确实现RMA指标。

如果我参考文档,则会得到以下代码

pine_rma(src,length) =>
    alpha = length
    sum = 0.0
    sum := na(sum[1]) ? sma(src,length) : (src + (alpha - 1) * nz(sum[1])) / alpha

所有内容对我来说都很清楚,除了可能出现 na(sum [1])条件时。而且我是否正确理解 nz(sum [1]) sum 的先前值。

当我尝试在golang中实现它时,他们编写了以下代码

func RMA(value []float64,period int) float64 {
    var sum float64 

    for i := period - 1; i >= 0; i-- {
        sum = (sum * (float64(period) - 1) + value[i]) / float64(period)
    }

    return sum
}

我在返回的数据中存在很大差异。

我试图了解当输入参数为3时,从RMA顺序获得的值是3的情况。

src [0] = 0,src [1] = 0 src [2] = 0.12

我们明白了

rma [0] = 0.06,rma [1] = 0.04 rma [2] = 0.03

我不知道这些数字在哪里,因为我用src代替了原始公式,所以得到的数字最多。

我从2020年9月2日的 FORD MTR CO DEL,1D,Cboe BZX 图表中提取了为RSI创建的向下数组的基准数据。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。