calADTMDatas method
dynamic
calADTMDatas(
- dynamic open,
- dynamic high,
- dynamic low,
- dynamic N,
- dynamic M,
ADTM N = 23, M = 8
Implementation
calADTMDatas(open, high, low, N, M) {
var refOpen = REF(open, 1);
var i = 0, len = open.length;
var dtmArr = [];
var dbmArr = [];
for (i = 0; i < len; i++) {
num dtm = 0.0;
num dbm = 0.0;
if (open[i] <= refOpen[i]) {
dtm = 0.0;
} else {
dtm = Tools.max(high[i] - open[i], open[i] - refOpen[i]);
}
dtmArr.add(dtm);
if (open[i] >= refOpen[i]) {
dbm = 0.0;
} else {
dbm = Tools.max(open[i] - low[i], open[i] - refOpen[i]);
}
dbmArr.add(dbm);
}
var stm = SUM(dtmArr, N);
var sbm = SUM(dbmArr, N);
var adtmArr = [];
len = stm.length;
for (i = 0; i < len; i++) {
dynamic adtm = 0.0;
if (Tools.isNaN(stm[i])) {
adtm = 0.0;
} else {
if (stm[i] > sbm[i]) {
if (stm[i] != 0) {
adtm = (stm[i] - sbm[i]) / stm[i];
}
} else if (stm[i] == sbm[i]) {
adtm = 0;
} else {
if (sbm[i] != 0) {
adtm = (stm[i] - sbm[i]) / sbm[i];
}
}
}
adtmArr.add(adtm);
}
var maadtm = MA(adtmArr, M);
var obj = {};
obj['ADTM'] = adtmArr;
obj['MAADTM'] = maadtm;
return obj;
}