MA method

dynamic MA(
  1. dynamic datas,
  2. dynamic p, {
  3. dynamic startIdx = 0,
})

指标MA(移动平均数)独立指标 输出数组小于P 位置为- 数组长度和datas一样

Implementation

MA(datas, p, {startIdx = 0}) {
  List outdatas = [];
  int size = datas.length;
  for (var i = startIdx; i < size; i++) {
    if (i >= p - 1) {
      num sum = 0.0;
      var j = 0;
      for (; j < p; j++) {
        if (Tools.isNaN(datas[i - j])) {
          break;
        } else {
          sum += (datas[i - j]);
        }
      }
      if (j == p) {
        outdatas.add(sum / p);
      } else {
        outdatas.add('-');
      }
    } else {
      outdatas.add("-");
    }
  }
  return outdatas;
}