calATRDatas method
dynamic
calATRDatas(
- dynamic close,
- dynamic high,
- dynamic low,
- dynamic p,
计算ATR指标 @param close 收盘点 @param high 最高点 @param low 最低点 @param p = 14 MA 的回溯周期 (1 <= p <= 300)
Implementation
calATRDatas(close, high, low, p) {
var resultObj = {};
var trArr = [];
var atrArr = [];
var refArr = REF(close, 1);
var i = 0;
var size = high.length;
var hlArr = []; //最高点与最低点差值
var absArr = []; //最高值与REF差的绝对值
var leftMaxArr = []; //前部分的最大值
var rightAbsArr = []; //右部分的绝对值
for (i = 0; i < size; i++) {
hlArr.add(high[i] - low[i]);
absArr.add((refArr[i] - high[i]).abs());
rightAbsArr.add((refArr[i] - low[i]).abs());
}
for (i = 0; i < size; i++) {
leftMaxArr.add(Tools.max(hlArr[i], absArr[i]));
}
for (i = 0; i < size; i++) {
trArr.add(Tools.max(leftMaxArr[i], rightAbsArr[i]));
}
atrArr = MA(trArr, p);
resultObj['TR'] = trArr;
resultObj['ATR'] = atrArr;
return resultObj;
}