callPBX method

dynamic callPBX(
  1. dynamic close,
  2. dynamic m1,
  3. dynamic m2,
  4. dynamic m3,
  5. dynamic m4,
  6. dynamic m5,
  7. dynamic m6,
)

m1 = 4, m2 = 6, m3 = 9, m4 = 13, m5 = 18, m6 = 24

Implementation

callPBX(close, m1, m2, m3, m4, m5, m6) {
  var PBX1 = [],
      PBX2 = [],
      PBX3 = [],
      PBX4 = [],
      PBX5 = [],
      PBX6 = [],
      i = 0,
      len = close.length;

  var ema1 = EMA(close, m1),
      ema2 = EMA(close, m2),
      ema3 = EMA(close, m3),
      ema4 = EMA(close, m4),
      ema5 = EMA(close, m5),
      ema6 = EMA(close, m6);
  var ma1 = MA(close, m1 * 2),
      ma2 = MA(close, m2 * 2),
      ma3 = MA(close, m3 * 2),
      ma4 = MA(close, m4 * 2),
      ma5 = MA(close, m5 * 2),
      ma6 = MA(close, m6 * 2);
  var ma11 = MA(close, m1 * 4),
      ma21 = MA(close, m2 * 4),
      ma31 = MA(close, m3 * 4),
      ma41 = MA(close, m4 * 4),
      ma51 = MA(close, m5 * 4),
      ma61 = MA(close, m6 * 4);
  dynamic v1 = '-', v2 = '-', v3 = '-', v4 = '-', v5 = '-', v6 = '';
  for (i = 0; i < len; i++) {
    if (Tools.isNaN(ma1[i]) || Tools.isNaN(ma11[i])) {
      PBX1.add("-");
    } else {
      v1 = (ema1[i] + ma1[i] + ma11[i]) / 3;
      PBX1.add(v1);
    }

    if (Tools.isNaN(ma2[i]) || Tools.isNaN(ma21[i])) {
      PBX2.add("-");
    } else {
      v2 = (ema2[i] + ma2[i] + ma21[i]) / 3;
      PBX2.add(v2);
    }

    if (Tools.isNaN(ma3[i]) || Tools.isNaN(ma31[i])) {
      PBX3.add("-");
    } else {
      v3 = (ema3[i] + ma3[i] + ma31[i]) / 3;
      PBX3.add(v3);
    }

    if (Tools.isNaN(ma4[i]) || Tools.isNaN(ma41[i])) {
      PBX4.add("-");
    } else {
      v4 = (ema4[i] + ma4[i] + ma41[i]) / 3;
      PBX4.add(v4);
    }

    if (Tools.isNaN(ma5[i]) || Tools.isNaN(ma51[i])) {
      PBX5.add("-");
    } else {
      v5 = (ema5[i] + ma5[i] + ma51[i]) / 3;
      PBX5.add(v5);
    }

    if (Tools.isNaN(ma6[i]) || Tools.isNaN(ma61[i])) {
      PBX6.add("-");
    } else {
      v6 = (ema6[i] + ma6[i] + ma61[i]) / 3;
      PBX6.add(v6);
    }
  }
  var obj = {};
  obj['PBX1'] = PBX1;
  obj['PBX2'] = PBX2;
  obj['PBX3'] = PBX3;
  obj['PBX4'] = PBX4;
  obj['PBX5'] = PBX5;
  obj['PBX6'] = PBX6;
  return obj;
}