问题描述
我遇到了想要实现与交易视图中相同的指标的问题,但是我无法正确实现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 (将#修改为@)