为什么使用TA.BOLL返回的数据是一大堆null,求高手解答

Author: tomiezhang, Created: 2018-03-06 17:02:05, Updated:

在loop里这样写 var records = exchange.GetRecords(Kzhouqi); if(records && records.length > 20){ var boll = TA.BOLL(records, 20, 2); Log(boll[1]); }

返回值: [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,11169.6295,11169.244499999999,11165.2815,11158.541999999998… 回测使用的是okex期货,如果想取upline和downline该怎么写?


Related

More

tomiezhang 已经解决 :)

小小梦 好的 ,官方 QQ群 申请就可以 ,1,2,3群现在 可能满了 4群 有位置。

tomiezhang 明白了,谢谢!求通过QQ群:)

小小梦 哦 不是的, a=GetRecords(PERIOD_M5 )// 获取5分钟 K线 var boll = TA.BOLL(a) // 把K线数据 传入 指标函数 计算指标,当然 没有指定 指标参数, 用的就是 默认值, 布林线 上下轨 会取均线的 2倍标准差 (记得是这样) boll 这个就是 布林带 指标数据。 要上轨的话 就是 boll[0] // 上轨(上线) 上轨最后一个 指标值,为: boll[0][boll[0].length - 1] // 最新的上轨值, 对应 最近的K线

tomiezhang 谢谢梦神,想再问一下,比如我想获取5分钟线的布林上轨值,是不是a=GetRecords(PERIOD_M5 )然后再TA.BOLL(a[0][4])这样?

小小梦 ^^ , TA.BOLL 是返回 三条线,也就是 三个数组。 第一个数组 就是上线, 然后是 中线 ,最后是下线。 前面的 null 是因为 不满足 指标 参数要求的周期 计算出来的 无效值。当满足周期后 ,就会计算出来 指标值, 比如 MA(5) 在K线开始的4根的时候 都是 没有的(因为 4个 数据 没法 算出 5个数的平均值),从第5根K线才会 出现 MA(5)这条均线。