@ch20026103/anysis 0.0.15-alpha → 0.0.16-alpha
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/demo/main.js +17 -10
- package/dist/cjs/stockSkills/boll.d.ts +25 -50
- package/dist/cjs/stockSkills/boll.js +9 -11
- package/dist/cjs/stockSkills/ema.d.ts +11 -33
- package/dist/cjs/stockSkills/gold.d.ts +12 -32
- package/dist/cjs/stockSkills/kd.d.ts +29 -72
- package/dist/cjs/stockSkills/kd.js +14 -11
- package/dist/cjs/stockSkills/kd.test.js +1 -1
- package/dist/cjs/stockSkills/ma.d.ts +39 -60
- package/dist/cjs/stockSkills/ma.js +16 -7
- package/dist/cjs/stockSkills/macd.d.ts +32 -63
- package/dist/cjs/stockSkills/macd.js +21 -24
- package/dist/cjs/stockSkills/obv.d.ts +16 -49
- package/dist/cjs/stockSkills/obv.js +3 -1
- package/dist/cjs/stockSkills/rsi.d.ts +10 -26
- package/dist/cjs/stockSkills/types.d.ts +10 -0
- package/dist/cjs/stockSkills/types.js +2 -0
- package/dist/cjs/stockSkills/utils/getWeekLine.d.ts +4 -16
- package/dist/cjs/stockSkills/utils/getWeekLine.js +3 -0
- package/dist/cjs/stockSkills/utils/getWeekLine.test.js +1 -0
- package/dist/cjs/stockSkills/vma.d.ts +11 -26
- package/dist/cjs/stockSkills/williams.d.ts +20 -32
- package/dist/esm/stockSkills/boll.d.ts +25 -50
- package/dist/esm/stockSkills/boll.js +9 -11
- package/dist/esm/stockSkills/ema.d.ts +11 -33
- package/dist/esm/stockSkills/gold.d.ts +12 -32
- package/dist/esm/stockSkills/kd.d.ts +29 -72
- package/dist/esm/stockSkills/kd.js +14 -11
- package/dist/esm/stockSkills/kd.test.js +1 -1
- package/dist/esm/stockSkills/ma.d.ts +39 -60
- package/dist/esm/stockSkills/ma.js +16 -7
- package/dist/esm/stockSkills/macd.d.ts +32 -63
- package/dist/esm/stockSkills/macd.js +21 -24
- package/dist/esm/stockSkills/obv.d.ts +16 -49
- package/dist/esm/stockSkills/obv.js +3 -1
- package/dist/esm/stockSkills/rsi.d.ts +10 -26
- package/dist/esm/stockSkills/types.d.ts +10 -0
- package/dist/esm/stockSkills/types.js +1 -0
- package/dist/esm/stockSkills/utils/getWeekLine.d.ts +4 -16
- package/dist/esm/stockSkills/utils/getWeekLine.js +3 -0
- package/dist/esm/stockSkills/utils/getWeekLine.test.js +1 -0
- package/dist/esm/stockSkills/vma.d.ts +11 -26
- package/dist/esm/stockSkills/williams.d.ts +20 -32
- package/dist/umd/index.js +66 -54
- package/package.json +17 -15
package/dist/umd/index.js
CHANGED
|
@@ -326,9 +326,9 @@
|
|
|
326
326
|
value: function (data) {
|
|
327
327
|
return {
|
|
328
328
|
dataset: [data],
|
|
329
|
-
bollMa:
|
|
330
|
-
bollUb:
|
|
331
|
-
bollLb:
|
|
329
|
+
bollMa: 0,
|
|
330
|
+
bollUb: 0,
|
|
331
|
+
bollLb: 0,
|
|
332
332
|
};
|
|
333
333
|
}
|
|
334
334
|
});
|
|
@@ -342,9 +342,9 @@
|
|
|
342
342
|
return {
|
|
343
343
|
dataset: preList.dataset,
|
|
344
344
|
type: type,
|
|
345
|
-
bollMa:
|
|
346
|
-
bollUb:
|
|
347
|
-
bollLb:
|
|
345
|
+
bollMa: 0,
|
|
346
|
+
bollUb: 0,
|
|
347
|
+
bollLb: 0,
|
|
348
348
|
};
|
|
349
349
|
}
|
|
350
350
|
else {
|
|
@@ -354,7 +354,7 @@
|
|
|
354
354
|
var sum = preList.dataset.reduce(function (pre, current) { return pre + current.c; }, 0);
|
|
355
355
|
var bollMa_1 = Math.round((sum / type) * 100) / 100;
|
|
356
356
|
var difference = preList.dataset.reduce(function (pre, current) {
|
|
357
|
-
return bollMa_1 !==
|
|
357
|
+
return bollMa_1 !== 0 ? pre + Math.pow(current.c - bollMa_1, 2) : pre;
|
|
358
358
|
}, 0);
|
|
359
359
|
var std = Math.round(Math.sqrt(difference / type) * 100) / 100;
|
|
360
360
|
return {
|
|
@@ -375,7 +375,7 @@
|
|
|
375
375
|
var res = [];
|
|
376
376
|
var _loop_1 = function (i) {
|
|
377
377
|
if (i < type)
|
|
378
|
-
res[i] = __assign$7(__assign$7({}, list[i]), { bollMa:
|
|
378
|
+
res[i] = __assign$7(__assign$7({}, list[i]), { bollMa: 0, bollUb: 0, bollLb: 0 });
|
|
379
379
|
else {
|
|
380
380
|
// bollMa
|
|
381
381
|
var sumMa = list
|
|
@@ -386,9 +386,7 @@
|
|
|
386
386
|
var difference = res
|
|
387
387
|
.slice(i - (type - 1), i + 1)
|
|
388
388
|
.reduce(function (pre, current) {
|
|
389
|
-
return bollMa_2 !==
|
|
390
|
-
? pre + Math.pow(current.c - bollMa_2, 2)
|
|
391
|
-
: pre;
|
|
389
|
+
return bollMa_2 !== 0 ? pre + Math.pow(current.c - bollMa_2, 2) : pre;
|
|
392
390
|
}, 0);
|
|
393
391
|
var std = Math.round(Math.sqrt(difference / type) * 100) / 100;
|
|
394
392
|
res[i] = __assign$7(__assign$7({}, list[i]), { bollMa: bollMa_2, bollUb: bollMa_2 + 2 * std, bollLb: bollMa_2 - 2 * std });
|
|
@@ -516,6 +514,7 @@
|
|
|
516
514
|
t: collectWeekData[collectWeekData.length - 1]["t"],
|
|
517
515
|
h: Math.max.apply(Math, collectWeekData.map(function (item) { return item.h; })),
|
|
518
516
|
l: Math.min.apply(Math, collectWeekData.map(function (item) { return item.l; })),
|
|
517
|
+
v: collectWeekData.reduce(function (pre, current) { return pre + current.v; }, 0),
|
|
519
518
|
};
|
|
520
519
|
res.push(addDetail(obj, collectWeekData, detail));
|
|
521
520
|
collectWeekData = [];
|
|
@@ -529,6 +528,7 @@
|
|
|
529
528
|
t: collectWeekData[collectWeekData.length - 1]["t"],
|
|
530
529
|
h: Math.max.apply(Math, collectWeekData.map(function (item) { return item.h; })),
|
|
531
530
|
l: Math.min.apply(Math, collectWeekData.map(function (item) { return item.l; })),
|
|
531
|
+
v: collectWeekData.reduce(function (pre, current) { return pre + current.v; }, 0),
|
|
532
532
|
};
|
|
533
533
|
res.push(addDetail(obj, collectWeekData, detail));
|
|
534
534
|
}
|
|
@@ -544,6 +544,7 @@
|
|
|
544
544
|
t: collectWeekData[collectWeekData.length - 1]["t"],
|
|
545
545
|
h: Math.max.apply(Math, collectWeekData.map(function (item) { return item.h; })),
|
|
546
546
|
l: Math.min.apply(Math, collectWeekData.map(function (item) { return item.l; })),
|
|
547
|
+
v: collectWeekData.reduce(function (pre, current) { return pre + current.v; }, 0),
|
|
547
548
|
};
|
|
548
549
|
res.push(addDetail(obj, collectWeekData, detail));
|
|
549
550
|
}
|
|
@@ -771,13 +772,14 @@
|
|
|
771
772
|
enumerable: false,
|
|
772
773
|
configurable: true,
|
|
773
774
|
writable: true,
|
|
774
|
-
value: function (data) {
|
|
775
|
+
value: function (data, type) {
|
|
775
776
|
return {
|
|
776
777
|
dataset: [data],
|
|
777
|
-
rsv:
|
|
778
|
-
k:
|
|
779
|
-
d:
|
|
780
|
-
"k-d":
|
|
778
|
+
rsv: 0,
|
|
779
|
+
k: 0,
|
|
780
|
+
d: 0,
|
|
781
|
+
"k-d": 0,
|
|
782
|
+
type: type,
|
|
781
783
|
};
|
|
782
784
|
}
|
|
783
785
|
});
|
|
@@ -790,10 +792,11 @@
|
|
|
790
792
|
if (preList.dataset.length < type) {
|
|
791
793
|
return {
|
|
792
794
|
dataset: preList.dataset,
|
|
793
|
-
rsv:
|
|
794
|
-
k:
|
|
795
|
-
d:
|
|
796
|
-
"k-d":
|
|
795
|
+
rsv: 0,
|
|
796
|
+
k: 0,
|
|
797
|
+
d: 0,
|
|
798
|
+
"k-d": 0,
|
|
799
|
+
type: type,
|
|
797
800
|
};
|
|
798
801
|
}
|
|
799
802
|
else {
|
|
@@ -817,6 +820,7 @@
|
|
|
817
820
|
k: k,
|
|
818
821
|
d: d,
|
|
819
822
|
"k-d": k_d,
|
|
823
|
+
type: type,
|
|
820
824
|
};
|
|
821
825
|
}
|
|
822
826
|
}
|
|
@@ -829,7 +833,7 @@
|
|
|
829
833
|
var res = [];
|
|
830
834
|
for (var i = 0; i < list.length; i++) {
|
|
831
835
|
if (i < 8)
|
|
832
|
-
res[i] = __assign$5(__assign$5({}, list[i]), { rsv:
|
|
836
|
+
res[i] = __assign$5(__assign$5({}, list[i]), { rsv: 0 });
|
|
833
837
|
else {
|
|
834
838
|
var low = Math.min.apply(Math, list.slice(i - 8, i + 1).map(function (item) { return item.l; }));
|
|
835
839
|
var hight = Math.max.apply(Math, list.slice(i - 8, i + 1).map(function (item) { return item.h; }));
|
|
@@ -852,7 +856,7 @@
|
|
|
852
856
|
var yesterdayD = 50;
|
|
853
857
|
for (var i = 0; i < list.length; i++) {
|
|
854
858
|
if (i < 8)
|
|
855
|
-
res[i] = __assign$5(__assign$5({}, list[i]), { rsv:
|
|
859
|
+
res[i] = __assign$5(__assign$5({}, list[i]), { rsv: 0, k: 0, d: 0, "k-d": 0 });
|
|
856
860
|
else {
|
|
857
861
|
var low = Math.min.apply(Math, list.slice(i - 8, i + 1).map(function (item) { return item.l; }));
|
|
858
862
|
var hight = Math.max.apply(Math, list.slice(i - 8, i + 1).map(function (item) { return item.h; }));
|
|
@@ -895,7 +899,12 @@
|
|
|
895
899
|
configurable: true,
|
|
896
900
|
writable: true,
|
|
897
901
|
value: function (data, type) {
|
|
898
|
-
return {
|
|
902
|
+
return {
|
|
903
|
+
dataset: [data],
|
|
904
|
+
ma: 0,
|
|
905
|
+
type: type,
|
|
906
|
+
exclusionValue: { "d+1": 0, d: 0, "d-1": 0 },
|
|
907
|
+
};
|
|
899
908
|
}
|
|
900
909
|
});
|
|
901
910
|
Object.defineProperty(Ma.prototype, "next", {
|
|
@@ -913,7 +922,11 @@
|
|
|
913
922
|
};
|
|
914
923
|
}
|
|
915
924
|
else {
|
|
916
|
-
var exclusionValue = {
|
|
925
|
+
var exclusionValue = {
|
|
926
|
+
"d+1": preList.dataset[1].c,
|
|
927
|
+
d: preList.dataset[0].c,
|
|
928
|
+
"d-1": 0,
|
|
929
|
+
};
|
|
917
930
|
if (preList.dataset.length > type) {
|
|
918
931
|
exclusionValue["d-1"] = exclusionValue.d;
|
|
919
932
|
preList.dataset.shift();
|
|
@@ -950,7 +963,7 @@
|
|
|
950
963
|
var res = [];
|
|
951
964
|
for (var i = 0; i < list.length; i++) {
|
|
952
965
|
if (i < 4)
|
|
953
|
-
res[i] = __assign$4(__assign$4({}, list[i]), { ma5:
|
|
966
|
+
res[i] = __assign$4(__assign$4({}, list[i]), { ma5: 0 });
|
|
954
967
|
else {
|
|
955
968
|
var sum = list
|
|
956
969
|
.slice(i - 4, i + 1)
|
|
@@ -970,7 +983,7 @@
|
|
|
970
983
|
var res = [];
|
|
971
984
|
for (var i = 0; i < list.length; i++) {
|
|
972
985
|
if (i < 9)
|
|
973
|
-
res[i] = __assign$4(__assign$4({}, list[i]), { ma10:
|
|
986
|
+
res[i] = __assign$4(__assign$4({}, list[i]), { ma10: 0 });
|
|
974
987
|
else {
|
|
975
988
|
var sum = list
|
|
976
989
|
.slice(i - 9, i + 1)
|
|
@@ -990,7 +1003,7 @@
|
|
|
990
1003
|
var res = [];
|
|
991
1004
|
for (var i = 0; i < list.length; i++) {
|
|
992
1005
|
if (i < 19)
|
|
993
|
-
res[i] = __assign$4(__assign$4({}, list[i]), { ma20:
|
|
1006
|
+
res[i] = __assign$4(__assign$4({}, list[i]), { ma20: 0 });
|
|
994
1007
|
else {
|
|
995
1008
|
var sum = list
|
|
996
1009
|
.slice(i - 19, i + 1)
|
|
@@ -1010,7 +1023,7 @@
|
|
|
1010
1023
|
var res = [];
|
|
1011
1024
|
for (var i = 0; i < list.length; i++) {
|
|
1012
1025
|
if (i < 59)
|
|
1013
|
-
res[i] = __assign$4(__assign$4({}, list[i]), { ma60:
|
|
1026
|
+
res[i] = __assign$4(__assign$4({}, list[i]), { ma60: 0 });
|
|
1014
1027
|
else {
|
|
1015
1028
|
var sum = list
|
|
1016
1029
|
.slice(i - 59, i + 1)
|
|
@@ -1030,7 +1043,7 @@
|
|
|
1030
1043
|
var res = [];
|
|
1031
1044
|
for (var i = 0; i < list.length; i++) {
|
|
1032
1045
|
if (i < self - 1)
|
|
1033
|
-
res[i] = __assign$4(__assign$4({}, list[i]), { ma:
|
|
1046
|
+
res[i] = __assign$4(__assign$4({}, list[i]), { ma: 0 });
|
|
1034
1047
|
else {
|
|
1035
1048
|
var sum = list
|
|
1036
1049
|
.slice(i - (self - 1), i + 1)
|
|
@@ -1066,11 +1079,11 @@
|
|
|
1066
1079
|
value: function (data) {
|
|
1067
1080
|
return {
|
|
1068
1081
|
dataset: [data],
|
|
1069
|
-
ema12:
|
|
1070
|
-
ema26:
|
|
1082
|
+
ema12: 0,
|
|
1083
|
+
ema26: 0,
|
|
1071
1084
|
dif: [],
|
|
1072
|
-
macd:
|
|
1073
|
-
osc:
|
|
1085
|
+
macd: 0,
|
|
1086
|
+
osc: 0,
|
|
1074
1087
|
};
|
|
1075
1088
|
}
|
|
1076
1089
|
});
|
|
@@ -1084,7 +1097,7 @@
|
|
|
1084
1097
|
if (preList.dataset.length > 34)
|
|
1085
1098
|
preList.dataset.shift();
|
|
1086
1099
|
// EMA12
|
|
1087
|
-
var ema12 =
|
|
1100
|
+
var ema12 = 0;
|
|
1088
1101
|
if (preList.dataset.length === 12) {
|
|
1089
1102
|
ema12 = this.getStartEMA(preList.dataset);
|
|
1090
1103
|
ema12 = (ema12 * 11) / 13 + (this.getDI(data) * 2) / 13;
|
|
@@ -1095,7 +1108,7 @@
|
|
|
1095
1108
|
ema12 = Math.round(ema12 * 100) / 100;
|
|
1096
1109
|
}
|
|
1097
1110
|
// EMA26
|
|
1098
|
-
var ema26 =
|
|
1111
|
+
var ema26 = 0;
|
|
1099
1112
|
if (preList.dataset.length === 26) {
|
|
1100
1113
|
ema26 = this.getStartEMA(preList.dataset);
|
|
1101
1114
|
ema26 = (ema26 * 25) / 27 + (this.getDI(data) * 2) / 27;
|
|
@@ -1106,36 +1119,33 @@
|
|
|
1106
1119
|
ema26 = Math.round(ema26 * 100) / 100;
|
|
1107
1120
|
}
|
|
1108
1121
|
// DIF
|
|
1109
|
-
var dif =
|
|
1122
|
+
var dif = 0;
|
|
1110
1123
|
if (ema12 && ema26) {
|
|
1111
1124
|
dif = ema12 - ema26;
|
|
1112
1125
|
dif = Math.round(dif * 100) / 100;
|
|
1113
1126
|
(_a = preList.dif) === null || _a === void 0 ? void 0 : _a.push(dif);
|
|
1114
|
-
if (preList.dif.length > 9)
|
|
1115
|
-
(_b = preList.dif) === null || _b === void 0 ? void 0 : _b.shift();
|
|
1116
1127
|
}
|
|
1117
1128
|
// MACD & OSC
|
|
1118
|
-
var macd =
|
|
1119
|
-
var osc =
|
|
1129
|
+
var macd = 0;
|
|
1130
|
+
var osc = 0;
|
|
1120
1131
|
if (preList.dif.length === 9) {
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
macd = macd + ((item - macd) * 2) / 10;
|
|
1126
|
-
macd = Math.round(macd * 100) / 100;
|
|
1127
|
-
osc = item - macd;
|
|
1128
|
-
osc = Math.round(osc * 100) / 100;
|
|
1129
|
-
}
|
|
1130
|
-
}
|
|
1131
|
-
else {
|
|
1132
|
-
macd = preList.macd + ((dif - preList.macd) * 2) / 10;
|
|
1132
|
+
macd = preList.dif.reduce(function (accumulator, currentValue) { return accumulator + currentValue; });
|
|
1133
|
+
for (var i = 0; i < 9; i++) {
|
|
1134
|
+
var item = preList.dif[i];
|
|
1135
|
+
macd = macd + ((item - macd) * 2) / 10;
|
|
1133
1136
|
macd = Math.round(macd * 100) / 100;
|
|
1134
|
-
var item = preList.dif[preList.dif.length - 1];
|
|
1135
1137
|
osc = item - macd;
|
|
1136
1138
|
osc = Math.round(osc * 100) / 100;
|
|
1137
1139
|
}
|
|
1138
1140
|
}
|
|
1141
|
+
else if (preList.dif.length > 9) {
|
|
1142
|
+
macd = preList.macd + ((dif - preList.macd) * 2) / 10;
|
|
1143
|
+
macd = Math.round(macd * 100) / 100;
|
|
1144
|
+
var item = preList.dif[preList.dif.length - 1];
|
|
1145
|
+
osc = item - macd;
|
|
1146
|
+
osc = Math.round(osc * 100) / 100;
|
|
1147
|
+
(_b = preList.dif) === null || _b === void 0 ? void 0 : _b.shift();
|
|
1148
|
+
}
|
|
1139
1149
|
return {
|
|
1140
1150
|
dataset: preList.dataset,
|
|
1141
1151
|
ema12: ema12,
|
|
@@ -1308,6 +1318,7 @@
|
|
|
1308
1318
|
obvList: [data.v],
|
|
1309
1319
|
preClose: data.c,
|
|
1310
1320
|
obvMa: 0,
|
|
1321
|
+
type: type,
|
|
1311
1322
|
};
|
|
1312
1323
|
}
|
|
1313
1324
|
});
|
|
@@ -1338,7 +1349,8 @@
|
|
|
1338
1349
|
obv: obv,
|
|
1339
1350
|
preClose: currentClose,
|
|
1340
1351
|
obvList: obvList,
|
|
1341
|
-
obvMa: vma
|
|
1352
|
+
obvMa: vma,
|
|
1353
|
+
type: type,
|
|
1342
1354
|
};
|
|
1343
1355
|
}
|
|
1344
1356
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ch20026103/anysis",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.16-alpha",
|
|
4
4
|
"description": "provide many analyze methods in the library.",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"bugs": "git@github.com:cosmic1330/anysis/issues",
|
|
@@ -12,6 +12,21 @@
|
|
|
12
12
|
"module": "dist/esm/index.js",
|
|
13
13
|
"browser": "dist/umd/index.js",
|
|
14
14
|
"types": "dist/esm/index.d.ts",
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "pnpm clean && pnpm build:esm && pnpm build:cjs && pnpm build:umd",
|
|
17
|
+
"build:cjs": "tsc --module commonjs --target es5 --outDir dist/cjs",
|
|
18
|
+
"build:esm": "tsc --module esnext --target es5 --outDir dist/esm",
|
|
19
|
+
"build:umd": "rollup dist/esm/index.js --file dist/umd/index.js --format umd --name anysis",
|
|
20
|
+
"clean": "rimraf dist",
|
|
21
|
+
"lint": "eslint --fix \"**/*.{js,jsx,ts,tsx,mjs}\"",
|
|
22
|
+
"prepare": "pnpm exec husky install",
|
|
23
|
+
"prettier": "pnpm exec prettier --write .",
|
|
24
|
+
"prepublishOnly": "pnpm build",
|
|
25
|
+
"published": "npm publish",
|
|
26
|
+
"unpublished": "npm unpublish --force --registry http://localhost:4873 ",
|
|
27
|
+
"test": "vitest",
|
|
28
|
+
"demo": "node demo/main.js"
|
|
29
|
+
},
|
|
15
30
|
"lint-staged": {
|
|
16
31
|
"*.{js,jsx,ts,tsx,mjs}": [
|
|
17
32
|
"pnpm lint"
|
|
@@ -42,18 +57,5 @@
|
|
|
42
57
|
},
|
|
43
58
|
"vota": {
|
|
44
59
|
"node": "16.11.0"
|
|
45
|
-
},
|
|
46
|
-
"scripts": {
|
|
47
|
-
"build": "pnpm clean && pnpm build:esm && pnpm build:cjs && pnpm build:umd",
|
|
48
|
-
"build:cjs": "tsc --module commonjs --target es5 --outDir dist/cjs",
|
|
49
|
-
"build:esm": "tsc --module esnext --target es5 --outDir dist/esm",
|
|
50
|
-
"build:umd": "rollup dist/esm/index.js --file dist/umd/index.js --format umd --name anysis",
|
|
51
|
-
"clean": "rimraf dist",
|
|
52
|
-
"lint": "eslint --fix \"**/*.{js,jsx,ts,tsx,mjs}\"",
|
|
53
|
-
"prettier": "pnpm exec prettier --write .",
|
|
54
|
-
"published": "npm publish",
|
|
55
|
-
"unpublished": "npm unpublish --force --registry http://localhost:4873 ",
|
|
56
|
-
"test": "vitest",
|
|
57
|
-
"demo": "node demo/main.js"
|
|
58
60
|
}
|
|
59
|
-
}
|
|
61
|
+
}
|