@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.
Files changed (45) hide show
  1. package/demo/main.js +17 -10
  2. package/dist/cjs/stockSkills/boll.d.ts +25 -50
  3. package/dist/cjs/stockSkills/boll.js +9 -11
  4. package/dist/cjs/stockSkills/ema.d.ts +11 -33
  5. package/dist/cjs/stockSkills/gold.d.ts +12 -32
  6. package/dist/cjs/stockSkills/kd.d.ts +29 -72
  7. package/dist/cjs/stockSkills/kd.js +14 -11
  8. package/dist/cjs/stockSkills/kd.test.js +1 -1
  9. package/dist/cjs/stockSkills/ma.d.ts +39 -60
  10. package/dist/cjs/stockSkills/ma.js +16 -7
  11. package/dist/cjs/stockSkills/macd.d.ts +32 -63
  12. package/dist/cjs/stockSkills/macd.js +21 -24
  13. package/dist/cjs/stockSkills/obv.d.ts +16 -49
  14. package/dist/cjs/stockSkills/obv.js +3 -1
  15. package/dist/cjs/stockSkills/rsi.d.ts +10 -26
  16. package/dist/cjs/stockSkills/types.d.ts +10 -0
  17. package/dist/cjs/stockSkills/types.js +2 -0
  18. package/dist/cjs/stockSkills/utils/getWeekLine.d.ts +4 -16
  19. package/dist/cjs/stockSkills/utils/getWeekLine.js +3 -0
  20. package/dist/cjs/stockSkills/utils/getWeekLine.test.js +1 -0
  21. package/dist/cjs/stockSkills/vma.d.ts +11 -26
  22. package/dist/cjs/stockSkills/williams.d.ts +20 -32
  23. package/dist/esm/stockSkills/boll.d.ts +25 -50
  24. package/dist/esm/stockSkills/boll.js +9 -11
  25. package/dist/esm/stockSkills/ema.d.ts +11 -33
  26. package/dist/esm/stockSkills/gold.d.ts +12 -32
  27. package/dist/esm/stockSkills/kd.d.ts +29 -72
  28. package/dist/esm/stockSkills/kd.js +14 -11
  29. package/dist/esm/stockSkills/kd.test.js +1 -1
  30. package/dist/esm/stockSkills/ma.d.ts +39 -60
  31. package/dist/esm/stockSkills/ma.js +16 -7
  32. package/dist/esm/stockSkills/macd.d.ts +32 -63
  33. package/dist/esm/stockSkills/macd.js +21 -24
  34. package/dist/esm/stockSkills/obv.d.ts +16 -49
  35. package/dist/esm/stockSkills/obv.js +3 -1
  36. package/dist/esm/stockSkills/rsi.d.ts +10 -26
  37. package/dist/esm/stockSkills/types.d.ts +10 -0
  38. package/dist/esm/stockSkills/types.js +1 -0
  39. package/dist/esm/stockSkills/utils/getWeekLine.d.ts +4 -16
  40. package/dist/esm/stockSkills/utils/getWeekLine.js +3 -0
  41. package/dist/esm/stockSkills/utils/getWeekLine.test.js +1 -0
  42. package/dist/esm/stockSkills/vma.d.ts +11 -26
  43. package/dist/esm/stockSkills/williams.d.ts +20 -32
  44. package/dist/umd/index.js +66 -54
  45. 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: null,
330
- bollUb: null,
331
- bollLb: null,
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: null,
346
- bollUb: null,
347
- bollLb: null,
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 !== null ? pre + Math.pow(current.c - bollMa_1, 2) : pre;
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: null, bollUb: null, bollLb: null });
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 !== null
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: null,
778
- k: null,
779
- d: null,
780
- "k-d": null,
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: null,
794
- k: null,
795
- d: null,
796
- "k-d": null,
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: null });
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: null, k: null, d: null, "k-d": null });
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 { dataset: [data], ma: 0, type: type, exclusionValue: { "d+1": 0, d: 0, "d-1": 0 } };
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 = { "d+1": preList.dataset[1].c, d: preList.dataset[0].c, "d-1": 0 };
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: null });
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: null });
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: null });
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: null });
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: null });
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: null,
1070
- ema26: null,
1082
+ ema12: 0,
1083
+ ema26: 0,
1071
1084
  dif: [],
1072
- macd: null,
1073
- osc: null,
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 = null;
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 = null;
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 = null;
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 = null;
1119
- var osc = null;
1129
+ var macd = 0;
1130
+ var osc = 0;
1120
1131
  if (preList.dif.length === 9) {
1121
- if (preList.macd === null) {
1122
- macd = preList.dif.reduce(function (accumulator, currentValue) { return accumulator + currentValue; });
1123
- for (var i = 0; i < 9; i++) {
1124
- var item = preList.dif[i];
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.15-alpha",
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
+ }