用javascript写一个股票技术指标KDJ
时间: 2023-05-17 07:07:46 浏览: 149
KDJ是一种股票技术指标,它是由随机指标(K)、随机平均指标(D)和J值三个部分组成的。下面是用JavaScript实现KDJ指标的代码:
```javascript
function KDJ(high, low, close, n, m1, m2) {
var len = high.length;
var k = [];
var d = [];
var j = [];
var rsv = [];
var sum = 0;
var rsi = 0;
var kValue = 0;
var dValue = 0;
var jValue = 0;
for (var i = 0; i < len; i++) {
if (i < n - 1) {
rsv.push(0);
k.push(0);
d.push(0);
j.push(0);
continue;
}
var max = Math.max.apply(null, high.slice(i - n + 1, i + 1));
var min = Math.min.apply(null, low.slice(i - n + 1, i + 1));
rsi = (close[i] - min) / (max - min) * 100;
rsv.push(rsi);
if (i == n - 1) {
for (var j = 0; j < n; j++) {
sum += rsv[j];
}
kValue = sum / n;
dValue = kValue;
} else {
kValue = (m1 - 1) / m1 * k[i - 1] + 1 / m1 * rsv[i];
dValue = (m2 - 1) / m2 * d[i - 1] + 1 / m2 * kValue;
}
k.push(kValue);
d.push(dValue);
j.push(3 * kValue - 2 * dValue);
}
return {
k: k,
d: d,
j: j
};
}
```
其中,high、low、close分别是股票的最高价、最低价和收盘价,n、m1、m2是KDJ指标的参数,具体含义可以参考相关文献。函数返回一个对象,包含K、D、J三个数组,分别对应KDJ指标的三个部分。