callCDP method
dynamic
callCDP(
- dynamic high,
- dynamic low,
- dynamic close
Implementation
callCDP(high, low, close) {
var CDP = [], AH = [], NH = [], NL = [], AL = [], i = 0, len = close.length;
var ch = REF(high, 1), cl = REF(low, 1), cc = REF(close, 1);
dynamic v1 = '-', v2 = '-', v3 = '-', v4 = '-', v5 = '-';
for (i = 0; i < len; i++) {
// CDP:(CH+CL+CC)/3;
// AH:2*CDP+CH-2*CL;
// NH:CDP+CDP-CL;
// NL:CDP+CDP-CH;
// AL:2*CDP-2*CH+CL;
v1 = (ch[i] + cl[i] + cc[i]) / 3;
if (Tools.isNumber(v1)) {
CDP.add(v1);
} else {
CDP.add("-");
}
v2 = 2 * v1 + ch[i] - 2 * cl[i];
if (Tools.isNumber(v2)) {
AH.add(v2);
} else {
AH.add("-");
}
v3 = v1 + v1 - cl[i];
if (Tools.isNumber(v3)) {
NH.add(v3);
} else {
NH.add("-");
}
v4 = v1 + v1 - ch[i];
if (Tools.isNumber(v4)) {
NL.add(v4);
} else {
NL.add("-");
}
v5 = 2 * v1 - 2 * ch[i] + cl[i];
if (Tools.isNumber(v5)) {
AL.add(v5);
} else {
AL.add("-");
}
}
var obj = {};
obj['CDP'] = CDP;
obj['AH'] = AH;
obj['NH'] = NH;
obj['NL'] = NL;
obj['AL'] = AL;
return obj;
}