STD method

dynamic STD(
  1. dynamic datas,
  2. dynamic p
)

指标STD 基于指标MA 输出数组小于P 位置为- 数组长度和datas一样

Implementation

STD(datas, p) {
  List outdatas = [];
  List datas_ma = MA(datas, p);
  int size = datas.length;
  for (var i = 0; i < size; i++) {
    if (i >= p - 1 && !Tools.isNaN(datas_ma[i])) {
      num sum = 0.0;
      int count = 0;
      for (var j = 0; j < p; j++) {
        count++;
        sum += pow(datas[i - j] - datas_ma[i], 2);
      }
      outdatas.add(sqrt(sum / (count - 1)));
    } else {
      outdatas.add("-");
    }
  }
  return outdatas;
}