calPSYDatas method

dynamic calPSYDatas(
  1. dynamic close,
  2. dynamic p
)

计算PSY的指标 @param close 收盘点 @param p = 12; 回溯周期(2 <= p <= 100)

Implementation

calPSYDatas(close, p) {
  var resultObj = {};
  var size = close.length;
  var i = 0;
  var refArr = REF(close, 1);
  var arr = [];
  //筛选条件(满足条件,元素设为1,否则为0)
  for (i = 0; i < size; i++) {
    if (close[i] > refArr[i]) {
      arr.add(1.0);
    } else {
      arr.add(0.0);
    }
  }
  var tempArr = COUNT(arr, p);
  var psyArr = [];
  for (i = 0; i < size; i++) {
    if (Tools.isNaN(tempArr[i])) {
      psyArr.add('-');
    } else {
      psyArr.add((tempArr[i] / p) * 100);
    }
  }
  resultObj['PSY'] = psyArr;
  return resultObj;
}