@ch20026103/anysis 0.0.2-beta → 0.0.2-release
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/stockSkills/kd.d.ts +3 -2
- package/dist/cjs/stockSkills/kd.js +16 -21
- package/dist/cjs/stockSkills/kd.test.js +19 -19
- package/dist/cjs/stockSkills/test_data.test.d.ts +8 -0
- package/dist/cjs/stockSkills/test_data.test.js +626 -0
- package/dist/esm/stockSkills/kd.d.ts +3 -2
- package/dist/esm/stockSkills/kd.js +16 -21
- package/dist/esm/stockSkills/kd.test.js +18 -18
- package/dist/esm/stockSkills/test_data.test.d.ts +8 -0
- package/dist/esm/stockSkills/test_data.test.js +625 -0
- package/dist/umd/index.js +16 -21
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ declare type ResKD = {
|
|
|
16
16
|
rsv?: number;
|
|
17
17
|
k?: number;
|
|
18
18
|
d?: number;
|
|
19
|
-
|
|
19
|
+
"k-d"?: number;
|
|
20
20
|
}[];
|
|
21
21
|
export default class Kd implements KdType {
|
|
22
22
|
getRSV(list: ListType): ({
|
|
@@ -34,6 +34,7 @@ export default class Kd implements KdType {
|
|
|
34
34
|
rsv: undefined;
|
|
35
35
|
k: undefined;
|
|
36
36
|
d: undefined;
|
|
37
|
+
"k-d": undefined;
|
|
37
38
|
c: number;
|
|
38
39
|
h: number;
|
|
39
40
|
l: number;
|
|
@@ -41,7 +42,7 @@ export default class Kd implements KdType {
|
|
|
41
42
|
rsv: number;
|
|
42
43
|
k: number;
|
|
43
44
|
d: number;
|
|
44
|
-
|
|
45
|
+
"k-d": number;
|
|
45
46
|
c: number;
|
|
46
47
|
h: number;
|
|
47
48
|
l: number;
|
|
@@ -25,9 +25,10 @@ var Kd = /** @class */ (function () {
|
|
|
25
25
|
res[i] = __assign(__assign({}, list[i]), { rsv: undefined });
|
|
26
26
|
else {
|
|
27
27
|
var low = Math.min.apply(Math, list.slice(i - 8, i + 1).map(function (item) { return item.l; }));
|
|
28
|
-
var hight = Math.max.apply(Math, list.slice(i -
|
|
28
|
+
var hight = Math.max.apply(Math, list.slice(i - 8, i + 1).map(function (item) { return item.h; }));
|
|
29
29
|
var close_1 = list[i].c;
|
|
30
30
|
var rsv = ((close_1 - low) / (hight - low)) * 100;
|
|
31
|
+
rsv = Math.round(rsv * 100) / 100;
|
|
31
32
|
res[i] = __assign(__assign({}, list[i]), { rsv: rsv });
|
|
32
33
|
}
|
|
33
34
|
}
|
|
@@ -40,32 +41,26 @@ var Kd = /** @class */ (function () {
|
|
|
40
41
|
writable: true,
|
|
41
42
|
value: function (list) {
|
|
42
43
|
var res = [];
|
|
43
|
-
var yesterdayK =
|
|
44
|
-
var yesterdayD =
|
|
44
|
+
var yesterdayK = 50;
|
|
45
|
+
var yesterdayD = 50;
|
|
45
46
|
for (var i = 0; i < list.length; i++) {
|
|
46
47
|
if (i < 8)
|
|
47
|
-
res[i] = __assign(__assign({}, list[i]), { rsv: undefined, k: undefined, d: undefined });
|
|
48
|
+
res[i] = __assign(__assign({}, list[i]), { rsv: undefined, k: undefined, d: undefined, "k-d": undefined });
|
|
48
49
|
else {
|
|
49
50
|
var low = Math.min.apply(Math, list.slice(i - 8, i + 1).map(function (item) { return item.l; }));
|
|
50
|
-
var hight = Math.max.apply(Math, list.slice(i -
|
|
51
|
+
var hight = Math.max.apply(Math, list.slice(i - 8, i + 1).map(function (item) { return item.h; }));
|
|
51
52
|
var close_2 = list[i].c;
|
|
52
53
|
var rsv = ((close_2 - low) / (hight - low)) * 100;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
var d = (2 / 3) * yesterdayD + (1 / 3) * k;
|
|
64
|
-
var j = 3 * k - 2 * d;
|
|
65
|
-
res[i] = __assign(__assign({}, list[i]), { rsv: rsv, k: k, d: d, j: j });
|
|
66
|
-
yesterdayK = k;
|
|
67
|
-
yesterdayD = d;
|
|
68
|
-
}
|
|
54
|
+
rsv = Math.round(rsv * 100) / 100;
|
|
55
|
+
var k = (2 / 3) * yesterdayK + (1 / 3) * rsv;
|
|
56
|
+
var d = (2 / 3) * yesterdayD + (1 / 3) * k;
|
|
57
|
+
var k_d = k - d;
|
|
58
|
+
k = Math.round(k * 100) / 100;
|
|
59
|
+
d = Math.round(d * 100) / 100;
|
|
60
|
+
k_d = Math.round(k_d * 100) / 100;
|
|
61
|
+
res[i] = __assign(__assign({}, list[i]), { rsv: rsv, k: k, d: d, "k-d": k_d });
|
|
62
|
+
yesterdayK = k;
|
|
63
|
+
yesterdayD = d;
|
|
69
64
|
}
|
|
70
65
|
}
|
|
71
66
|
return res;
|
|
@@ -5,29 +5,29 @@ var test_data_test_1 = require("./test_data.test");
|
|
|
5
5
|
describe("test kd methods", function () {
|
|
6
6
|
it("test getRSV()", function () {
|
|
7
7
|
var kd = new kd_1.default();
|
|
8
|
-
expect(kd.getRSV(test_data_test_1.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
rsv:
|
|
8
|
+
expect(kd.getRSV(test_data_test_1.data_9904)[test_data_test_1.data_9904.length - 1]).toEqual({
|
|
9
|
+
o: 26.4,
|
|
10
|
+
l: 34.3,
|
|
11
|
+
h: 34.8,
|
|
12
|
+
c: 34.65,
|
|
13
|
+
v: 12765,
|
|
14
|
+
t: 20230216,
|
|
15
|
+
rsv: 90.63,
|
|
16
16
|
});
|
|
17
17
|
});
|
|
18
18
|
it("test getRSV()", function () {
|
|
19
19
|
var kd = new kd_1.default();
|
|
20
|
-
expect(kd.getKD(test_data_test_1.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
rsv:
|
|
28
|
-
k:
|
|
29
|
-
d:
|
|
30
|
-
|
|
20
|
+
expect(kd.getKD(test_data_test_1.data_9904)[test_data_test_1.data_9904.length - 1]).toEqual({
|
|
21
|
+
o: 26.4,
|
|
22
|
+
l: 34.3,
|
|
23
|
+
h: 34.8,
|
|
24
|
+
c: 34.65,
|
|
25
|
+
v: 12765,
|
|
26
|
+
t: 20230216,
|
|
27
|
+
rsv: 90.63,
|
|
28
|
+
k: 64.41,
|
|
29
|
+
d: 45.25,
|
|
30
|
+
'k-d': 19.16
|
|
31
31
|
});
|
|
32
32
|
});
|
|
33
33
|
});
|