callDKX method

dynamic callDKX(
  1. dynamic open,
  2. dynamic high,
  3. dynamic low,
  4. dynamic close,
  5. dynamic n,
)

n = 10

Implementation

callDKX(open, high, low, close, n) {
  var DKX = [], MADKX = [], i = 0, len = close.length;
  var MID = [];
  for (i = 0; i < len; i++) {
    MID.add((3 * close[i] + low[i] + open[i] + high[i]) / 6);
  }
  var ref = [];
  for (i = 1; i <= 20; i++) {
    ref.add(REF(MID, i));
  }
  for (i = 0; i < len; i++) {
    DKX.add((20 * MID[i] +
            19 * ref[0][i] +
            18 * ref[1][i] +
            17 * ref[2][i] +
            16 * ref[3][i] +
            15 * ref[4][i] +
            14 * ref[5][i] +
            13 * ref[6][i] +
            12 * ref[7][i] +
            11 * ref[8][i] +
            10 * ref[9][i] +
            9 * ref[10][i] +
            8 * ref[11][i] +
            7 * ref[12][i] +
            6 * ref[13][i] +
            5 * ref[14][i] +
            4 * ref[15][i] +
            3 * ref[16][i] +
            2 * ref[17][i] +
            ref[18][i]) /
        210);
  }
  MADKX = MA(DKX, n);
  var obj = {};
  obj['DKX'] = DKX;
  obj['MADKX'] = MADKX;
  return obj;
}