calKDDatas method
dynamic
calKDDatas(
- dynamic low,
- dynamic high,
- dynamic close,
- dynamic kp,
- dynamic dp,
- dynamic jp,
计算KD指标 @param low 最低点 @param high 最高点 @param close 收盘点 @param kp = 9 LLV,HHV的回溯周期 (1 <= kp <= 100) @param dp = 3 SMA参数(2 <= dp <= 40) @param jp = 3 SMA参数(2 <= jp <= 40) kp回溯周期以前的数值是-
Implementation
calKDDatas(low, high, close, kp, dp, jp) {
var size = close.length;
var llv_low = LLV(low, kp);
var hhv_high = HHV(high, kp);
var rsv = [];
var i = 0;
for (i = 0; i < size; i++) {
if (i >= kp - 1) {
rsv.add(((close[i] - llv_low[i]) / (hhv_high[i] - llv_low[i])) * 100);
} else {
rsv.add("-");
}
}
var kdj_k = SMA(rsv, dp, 1); //3
var kdj_d = SMA(kdj_k, jp, 1); //3
for (i = 0; i < rsv.length; i++) {
if (i >= kp - 1) {
if (kdj_k[i] < 0) {
kdj_k[i] = 0.0;
} else if (kdj_k[i] > 100) {
kdj_k[i] = 100.0;
}
if (kdj_d[i] < 0) {
kdj_d[i] = 0.0;
} else if (kdj_d[i] > 100) {
kdj_d[i] = 100.0;
}
}
}
var obj = {};
obj['K'] = kdj_k;
obj['D'] = kdj_d;
return obj;
}