루프에서 이렇게 쓰면 됩니다.
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 Futures'를 사용했는데, 'upline'와 'downline'를 어떻게 써야 할까요?
^^ , TA.BOLL 是返回 三条线,也就是 三个数组。 第一个数组 就是上线, 然后是 中线 ,最后是下线。 前面的 null 是因为 不满足 指标 参数要求的周期 计算出来的 无效值。当满足周期后 ,就会计算出来 指标值, 比如 MA(5) 在K线开始的4根的时候 都是 没有的(因为 4个 数据 没法 算出 5个数的平均值),从第5根K线才会 出现 MA(5)这条均线。
谢谢梦神,想再问一下,比如我想获取5分钟线的布林上轨值,是不是a=GetRecords(PERIOD_M5 )然后再TA.BOLL(a[0][4])这样?
哦 不是的, a=GetRecords(PERIOD_M5 )// 获取5分钟 K线
var boll = TA.BOLL(a) // 把K线数据 传入 指标函数 计算指标,当然 没有指定 指标参数, 用的就是 默认值, 布林线 上下轨 会取均线的 2倍标准差 (记得是这样)
boll 这个就是 布林带 指标数据。
要上轨的话 就是
boll[0] // 上轨(上线)
上轨最后一个 指标值,为:
boll[0][boll[0].length - 1] // 最新的上轨值, 对应 最近的K线
- 1
