@ch20026103/anysis 0.0.2-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 (101) hide show
  1. package/.eslintrc.json +15 -0
  2. package/.gitattributes +1 -0
  3. package/.vscode/settings.json +5 -0
  4. package/README.md +11 -0
  5. package/commitlint.config.js +3 -0
  6. package/dist/cjs/analyze/Month/index.d.ts +15 -0
  7. package/dist/cjs/analyze/Month/index.js +24 -0
  8. package/dist/cjs/analyze/Regression/simpleRegressoinModel.d.ts +12 -0
  9. package/dist/cjs/analyze/Regression/simpleRegressoinModel.js +79 -0
  10. package/dist/cjs/analyze/Regression/simpleRegressoinModel.test.d.ts +1 -0
  11. package/dist/cjs/analyze/Regression/simpleRegressoinModel.test.js +16 -0
  12. package/dist/cjs/analyze/TimeSeries/R/index.d.ts +7 -0
  13. package/dist/cjs/analyze/TimeSeries/R/index.js +39 -0
  14. package/dist/cjs/analyze/TimeSeries/RS/index.d.ts +2 -0
  15. package/dist/cjs/analyze/TimeSeries/RS/index.js +31 -0
  16. package/dist/cjs/index.d.ts +12 -0
  17. package/dist/cjs/index.js +34 -0
  18. package/dist/cjs/stockSkills/gold.d.ts +47 -0
  19. package/dist/cjs/stockSkills/gold.js +216 -0
  20. package/dist/cjs/stockSkills/gold.test.d.ts +1 -0
  21. package/dist/cjs/stockSkills/gold.test.js +45 -0
  22. package/dist/cjs/stockSkills/ma.d.ts +58 -0
  23. package/dist/cjs/stockSkills/ma.js +169 -0
  24. package/dist/cjs/stockSkills/ma.test.d.ts +1 -0
  25. package/dist/cjs/stockSkills/ma.test.js +98 -0
  26. package/dist/cjs/stockSkills/macd.d.ts +59 -0
  27. package/dist/cjs/stockSkills/macd.js +144 -0
  28. package/dist/cjs/stockSkills/macd.test.d.ts +1 -0
  29. package/dist/cjs/stockSkills/macd.test.js +74 -0
  30. package/dist/cjs/stockSkills/rsi.d.ts +32 -0
  31. package/dist/cjs/stockSkills/rsi.js +145 -0
  32. package/dist/cjs/stockSkills/rsi.test.d.ts +1 -0
  33. package/dist/cjs/stockSkills/rsi.test.js +30 -0
  34. package/dist/cjs/stockSkills/test_data.test.d.ts +9 -0
  35. package/dist/cjs/stockSkills/test_data.test.js +166 -0
  36. package/dist/cjs/stockSkills/utils/dateFormat.d.ts +12 -0
  37. package/dist/cjs/stockSkills/utils/dateFormat.js +58 -0
  38. package/dist/cjs/stockSkills/utils/dateFormat.test.d.ts +1 -0
  39. package/dist/cjs/stockSkills/utils/dateFormat.test.js +29 -0
  40. package/dist/cjs/stockSkills/utils/getWeekLine.d.ts +17 -0
  41. package/dist/cjs/stockSkills/utils/getWeekLine.js +75 -0
  42. package/dist/cjs/stockSkills/utils/getWeekLine.test.d.ts +1 -0
  43. package/dist/cjs/stockSkills/utils/getWeekLine.test.js +16 -0
  44. package/dist/cjs/stockSkills/williams.d.ts +29 -0
  45. package/dist/cjs/stockSkills/williams.js +77 -0
  46. package/dist/cjs/stockSkills/williams.test.d.ts +1 -0
  47. package/dist/cjs/stockSkills/williams.test.js +43 -0
  48. package/dist/cjs/test/add.d.ts +1 -0
  49. package/dist/cjs/test/add.js +7 -0
  50. package/dist/cjs/test/minus.d.ts +1 -0
  51. package/dist/cjs/test/minus.js +7 -0
  52. package/dist/esm/analyze/Month/index.d.ts +15 -0
  53. package/dist/esm/analyze/Month/index.js +20 -0
  54. package/dist/esm/analyze/Regression/simpleRegressoinModel.d.ts +12 -0
  55. package/dist/esm/analyze/Regression/simpleRegressoinModel.js +76 -0
  56. package/dist/esm/analyze/Regression/simpleRegressoinModel.test.d.ts +1 -0
  57. package/dist/esm/analyze/Regression/simpleRegressoinModel.test.js +14 -0
  58. package/dist/esm/analyze/TimeSeries/R/index.d.ts +7 -0
  59. package/dist/esm/analyze/TimeSeries/R/index.js +33 -0
  60. package/dist/esm/analyze/TimeSeries/RS/index.d.ts +2 -0
  61. package/dist/esm/analyze/TimeSeries/RS/index.js +27 -0
  62. package/dist/esm/index.d.ts +12 -0
  63. package/dist/esm/index.js +17 -0
  64. package/dist/esm/stockSkills/gold.d.ts +47 -0
  65. package/dist/esm/stockSkills/gold.js +214 -0
  66. package/dist/esm/stockSkills/gold.test.d.ts +1 -0
  67. package/dist/esm/stockSkills/gold.test.js +43 -0
  68. package/dist/esm/stockSkills/ma.d.ts +58 -0
  69. package/dist/esm/stockSkills/ma.js +167 -0
  70. package/dist/esm/stockSkills/ma.test.d.ts +1 -0
  71. package/dist/esm/stockSkills/ma.test.js +96 -0
  72. package/dist/esm/stockSkills/macd.d.ts +59 -0
  73. package/dist/esm/stockSkills/macd.js +142 -0
  74. package/dist/esm/stockSkills/macd.test.d.ts +1 -0
  75. package/dist/esm/stockSkills/macd.test.js +72 -0
  76. package/dist/esm/stockSkills/rsi.d.ts +32 -0
  77. package/dist/esm/stockSkills/rsi.js +143 -0
  78. package/dist/esm/stockSkills/rsi.test.d.ts +1 -0
  79. package/dist/esm/stockSkills/rsi.test.js +28 -0
  80. package/dist/esm/stockSkills/test_data.test.d.ts +9 -0
  81. package/dist/esm/stockSkills/test_data.test.js +164 -0
  82. package/dist/esm/stockSkills/utils/dateFormat.d.ts +12 -0
  83. package/dist/esm/stockSkills/utils/dateFormat.js +55 -0
  84. package/dist/esm/stockSkills/utils/dateFormat.test.d.ts +1 -0
  85. package/dist/esm/stockSkills/utils/dateFormat.test.js +27 -0
  86. package/dist/esm/stockSkills/utils/getWeekLine.d.ts +17 -0
  87. package/dist/esm/stockSkills/utils/getWeekLine.js +72 -0
  88. package/dist/esm/stockSkills/utils/getWeekLine.test.d.ts +1 -0
  89. package/dist/esm/stockSkills/utils/getWeekLine.test.js +14 -0
  90. package/dist/esm/stockSkills/williams.d.ts +29 -0
  91. package/dist/esm/stockSkills/williams.js +75 -0
  92. package/dist/esm/stockSkills/williams.test.d.ts +1 -0
  93. package/dist/esm/stockSkills/williams.test.js +41 -0
  94. package/dist/esm/test/add.d.ts +1 -0
  95. package/dist/esm/test/add.js +3 -0
  96. package/dist/esm/test/minus.d.ts +1 -0
  97. package/dist/esm/test/minus.js +3 -0
  98. package/dist/umd/index.js +1059 -0
  99. package/package.json +61 -0
  100. package/test.js +29 -0
  101. package/vite.config.js +10 -0
@@ -0,0 +1,1059 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
3
+ typeof define === 'function' && define.amd ? define(['exports'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.anysis = {}));
5
+ })(this, (function (exports) { 'use strict';
6
+
7
+ function average(arr) {
8
+ var total = arr.reduce(function (prev, curr) { return prev + curr; });
9
+ var xBar = total / arr.length;
10
+ return xBar;
11
+ }
12
+ function calcB1(_a) {
13
+ var xBar = _a.xBar, yBar = _a.yBar, xArray = _a.xArray, yArray = _a.yArray;
14
+ var i = 0;
15
+ var denominator = 0;
16
+ var numerator = 0;
17
+ while (i < xArray.length) {
18
+ denominator += (xArray[i] - xBar) * (yArray[i] - yBar);
19
+ numerator += Math.pow(xArray[i] - xBar, 2);
20
+ i++;
21
+ }
22
+ return denominator / numerator;
23
+ }
24
+ function calcB0(_a) {
25
+ var xBar = _a.xBar, yBar = _a.yBar, b1 = _a.b1;
26
+ return yBar - b1 * xBar;
27
+ }
28
+ function calcSSR(_a) {
29
+ var yBar = _a.yBar, predictRegressionModel = _a.predictRegressionModel, xArray = _a.xArray;
30
+ var Sum = xArray.reduce(function (prev, curr) {
31
+ return prev + Math.pow(predictRegressionModel(curr) - yBar, 2);
32
+ }, 0);
33
+ return Sum;
34
+ }
35
+ function calcSSE(_a) {
36
+ var predictRegressionModel = _a.predictRegressionModel, yArray = _a.yArray, xArray = _a.xArray;
37
+ var Sum = 0;
38
+ for (var i = 0; i < xArray.length; i++) {
39
+ var X = xArray[i];
40
+ var Y = yArray[i];
41
+ Sum += Math.pow(Y - predictRegressionModel(X), 2);
42
+ }
43
+ return Sum;
44
+ }
45
+ /**
46
+ * xArray = independent
47
+ * yArray = dependent
48
+ * response: Y = b0 + b1X
49
+ */
50
+ function simpleRegressionModel(xArray, yArray) {
51
+ if (xArray.length !== yArray.length)
52
+ return {
53
+ description: "xArray length is different about yArray length",
54
+ predictModel: function () { return NaN; },
55
+ explained: "0%",
56
+ };
57
+ var xBar = average(xArray);
58
+ var yBar = average(yArray);
59
+ var b1 = calcB1({ xBar: xBar, yBar: yBar, xArray: xArray, yArray: yArray });
60
+ var b0 = calcB0({ xBar: xBar, yBar: yBar, b1: b1 });
61
+ var predictRegressionModel = function (xValue) {
62
+ return b0 + b1 * xValue;
63
+ };
64
+ var SSR = calcSSR({
65
+ yBar: yBar,
66
+ predictRegressionModel: predictRegressionModel,
67
+ xArray: xArray,
68
+ });
69
+ var SSE = calcSSE({
70
+ predictRegressionModel: predictRegressionModel,
71
+ yArray: yArray,
72
+ xArray: xArray,
73
+ });
74
+ var SST = SSR + SSE;
75
+ var rPower = (SSR / SST) * 100 + "%";
76
+ var response = {
77
+ description: "Y=".concat(b0, "+").concat(b1, "X"),
78
+ predictModel: predictRegressionModel,
79
+ explained: rPower,
80
+ };
81
+ return response;
82
+ }
83
+
84
+ function movingAverages(arr, periods) {
85
+ var response = new Array(periods).fill(0);
86
+ for (var i = periods; i < arr.length; i++) {
87
+ var Sum = 0;
88
+ for (var e = 1; e <= periods; e++) {
89
+ Sum += arr[i - e];
90
+ }
91
+ response.push(Sum / periods);
92
+ }
93
+ return response;
94
+ }
95
+ function weightMovingAverages(arr, periods) {
96
+ var response = new Array(periods.length).fill(0);
97
+ var weightSum = periods.reduce(function (pre, curr) { return pre + curr; });
98
+ for (var i = periods.length - 1; i < arr.length; i++) {
99
+ var Sum = 0;
100
+ for (var e = 0; e < periods.length; e++) {
101
+ Sum += arr[i - e] * periods[e];
102
+ }
103
+ response.push(Sum / weightSum);
104
+ }
105
+ return response;
106
+ }
107
+ function exponentialSmoothing(arr, alpha, options) {
108
+ var PreviousForecast = (options === null || options === void 0 ? void 0 : options.initialForecast) || arr[0];
109
+ var forecasts = [PreviousForecast];
110
+ for (var i = 1; i <= arr.length; i++) {
111
+ var Sum = PreviousForecast + alpha * (arr[i - 1] - PreviousForecast);
112
+ PreviousForecast = Sum;
113
+ forecasts.push(Sum);
114
+ }
115
+ return forecasts;
116
+ }
117
+
118
+ function setStartMonthInYear(startMonth) {
119
+ var base = [
120
+ "January",
121
+ "February",
122
+ "March",
123
+ "April",
124
+ "May",
125
+ "June",
126
+ "July",
127
+ "August",
128
+ "September",
129
+ "October",
130
+ "November",
131
+ "December",
132
+ ];
133
+ var end = base.slice(0, startMonth - 1);
134
+ var start = base.slice(startMonth - 1);
135
+ var response = start.concat(end);
136
+ return response;
137
+ }
138
+
139
+ function calcSeasonalIndicesNoTrend(monthData, annualEstimate, startMonth) {
140
+ if (startMonth === void 0) { startMonth = 1; }
141
+ // error
142
+ if (monthData.length % 12 !== 0)
143
+ return "data length fail";
144
+ // calc
145
+ var loop = monthData.length / 12;
146
+ var SumArr = [];
147
+ while (SumArr.length < 12) {
148
+ var Sum = 0;
149
+ for (var i = 0; i < loop; i++) {
150
+ Sum += monthData[i * 12 + SumArr.length];
151
+ }
152
+ SumArr.push(Sum / loop);
153
+ }
154
+ var SumAverage = SumArr.reduce(function (pre, curr) { return pre + curr; }) / 12;
155
+ var seasonalIndexal = SumArr.map(function (sum) { return sum / SumAverage; });
156
+ // create Map
157
+ var perMonth = annualEstimate / 12;
158
+ var months = setStartMonthInYear(startMonth);
159
+ var nextYearForecast = {};
160
+ months.forEach(function (month, index) {
161
+ nextYearForecast[month] = perMonth * seasonalIndexal[index];
162
+ });
163
+ return nextYearForecast;
164
+ }
165
+
166
+ function add(a, b) {
167
+ return a + b;
168
+ }
169
+
170
+ function minus(a, b) {
171
+ return a - b;
172
+ }
173
+
174
+ var __assign$4 = (undefined && undefined.__assign) || function () {
175
+ __assign$4 = Object.assign || function(t) {
176
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
177
+ s = arguments[i];
178
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
179
+ t[p] = s[p];
180
+ }
181
+ return t;
182
+ };
183
+ return __assign$4.apply(this, arguments);
184
+ };
185
+ var Ma = /** @class */ (function () {
186
+ function Ma() {
187
+ }
188
+ Object.defineProperty(Ma.prototype, "getAllMa", {
189
+ enumerable: false,
190
+ configurable: true,
191
+ writable: true,
192
+ value: function (list) {
193
+ var res = [];
194
+ var responseMa5 = this.getMa5(list);
195
+ var responseMa10 = this.getMa10(list);
196
+ var responseMa20 = this.getMa20(list);
197
+ var responseMa60 = this.getMa60(list);
198
+ var responseBoll = this.getBoll(list);
199
+ for (var i = 0; i < list.length; i++) {
200
+ res[i] = Object.assign(list[i], responseMa5[i], responseMa10[i], responseMa20[i], responseMa60[i], responseBoll[i]);
201
+ }
202
+ return res;
203
+ }
204
+ });
205
+ Object.defineProperty(Ma.prototype, "getMa5", {
206
+ enumerable: false,
207
+ configurable: true,
208
+ writable: true,
209
+ value: function (list) {
210
+ var res = [];
211
+ for (var i = 0; i < list.length; i++) {
212
+ if (i < 4)
213
+ res[i] = __assign$4(__assign$4({}, list[i]), { ma5: undefined });
214
+ else {
215
+ var sum = list
216
+ .slice(i - 4, i + 1)
217
+ .reduce(function (pre, current) { return pre + current.c; }, 0);
218
+ var ma5 = Math.round((sum / 5) * 100) / 100;
219
+ res[i] = __assign$4(__assign$4({}, list[i]), { ma5: ma5 });
220
+ }
221
+ }
222
+ return res;
223
+ }
224
+ });
225
+ Object.defineProperty(Ma.prototype, "getMa10", {
226
+ enumerable: false,
227
+ configurable: true,
228
+ writable: true,
229
+ value: function (list) {
230
+ var res = [];
231
+ for (var i = 0; i < list.length; i++) {
232
+ if (i < 9)
233
+ res[i] = __assign$4(__assign$4({}, list[i]), { ma10: undefined });
234
+ else {
235
+ var sum = list
236
+ .slice(i - 9, i + 1)
237
+ .reduce(function (pre, current) { return pre + current.c; }, 0);
238
+ var ma10 = Math.round((sum / 10) * 100) / 100;
239
+ res[i] = __assign$4(__assign$4({}, list[i]), { ma10: ma10 });
240
+ }
241
+ }
242
+ return res;
243
+ }
244
+ });
245
+ Object.defineProperty(Ma.prototype, "getMa20", {
246
+ enumerable: false,
247
+ configurable: true,
248
+ writable: true,
249
+ value: function (list) {
250
+ var res = [];
251
+ for (var i = 0; i < list.length; i++) {
252
+ if (i < 19)
253
+ res[i] = __assign$4(__assign$4({}, list[i]), { ma20: undefined });
254
+ else {
255
+ var sum = list
256
+ .slice(i - 19, i + 1)
257
+ .reduce(function (pre, current) { return pre + current.c; }, 0);
258
+ var ma20 = Math.round((sum / 20) * 100) / 100;
259
+ res[i] = __assign$4(__assign$4({}, list[i]), { ma20: ma20 });
260
+ }
261
+ }
262
+ return res;
263
+ }
264
+ });
265
+ Object.defineProperty(Ma.prototype, "getMa60", {
266
+ enumerable: false,
267
+ configurable: true,
268
+ writable: true,
269
+ value: function (list) {
270
+ var res = [];
271
+ for (var i = 0; i < list.length; i++) {
272
+ if (i < 59)
273
+ res[i] = __assign$4(__assign$4({}, list[i]), { ma60: undefined });
274
+ else {
275
+ var sum = list
276
+ .slice(i - 59, i + 1)
277
+ .reduce(function (pre, current) { return pre + current.c; }, 0);
278
+ var ma60 = Math.round((sum / 60) * 100) / 100;
279
+ res[i] = __assign$4(__assign$4({}, list[i]), { ma60: ma60 });
280
+ }
281
+ }
282
+ return res;
283
+ }
284
+ });
285
+ Object.defineProperty(Ma.prototype, "getMaSelf", {
286
+ enumerable: false,
287
+ configurable: true,
288
+ writable: true,
289
+ value: function (list, self) {
290
+ var res = [];
291
+ for (var i = 0; i < list.length; i++) {
292
+ if (i < (self - 1))
293
+ res[i] = __assign$4(__assign$4({}, list[i]), { maSelf: undefined });
294
+ else {
295
+ var sum = list
296
+ .slice(i - (self - 1), i + 1)
297
+ .reduce(function (pre, current) { return pre + current.c; }, 0);
298
+ var maSelf = Math.round((sum / self) * 100) / 100;
299
+ res[i] = __assign$4(__assign$4({}, list[i]), { maSelf: maSelf });
300
+ }
301
+ }
302
+ return res;
303
+ }
304
+ });
305
+ Object.defineProperty(Ma.prototype, "getBoll", {
306
+ enumerable: false,
307
+ configurable: true,
308
+ writable: true,
309
+ value: function (list) {
310
+ var res = [];
311
+ var _loop_1 = function (i) {
312
+ if (i < 24)
313
+ res[i] = __assign$4(__assign$4({}, list[i]), { ma25: undefined, bollUb: undefined, bollLb: undefined });
314
+ else {
315
+ // ma25
316
+ var sumMa25 = list
317
+ .slice(i - 24, i + 1)
318
+ .reduce(function (pre, current) { return pre + current.c; }, 0);
319
+ var ma25_1 = Math.round((sumMa25 / 25) * 100) / 100;
320
+ // 標準差
321
+ var sumBase = res
322
+ .slice(i - 24, i + 1)
323
+ .reduce(function (pre, current) {
324
+ return ma25_1 !== undefined
325
+ ? pre + Math.pow(current.c - ma25_1, 2)
326
+ : pre;
327
+ }, 0);
328
+ var base = Math.round(Math.sqrt(sumBase / 25) * 100) / 100;
329
+ res[i] = __assign$4(__assign$4({}, list[i]), { ma25: ma25_1, bollUb: ma25_1 + 2 * base, bollLb: ma25_1 - 2 * base });
330
+ }
331
+ };
332
+ for (var i = 0; i < list.length; i++) {
333
+ _loop_1(i);
334
+ }
335
+ return res;
336
+ }
337
+ });
338
+ return Ma;
339
+ }());
340
+
341
+ var __assign$3 = (undefined && undefined.__assign) || function () {
342
+ __assign$3 = Object.assign || function(t) {
343
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
344
+ s = arguments[i];
345
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
346
+ t[p] = s[p];
347
+ }
348
+ return t;
349
+ };
350
+ return __assign$3.apply(this, arguments);
351
+ };
352
+ var MACD = /** @class */ (function () {
353
+ function MACD() {
354
+ }
355
+ Object.defineProperty(MACD.prototype, "getMACD", {
356
+ enumerable: false,
357
+ configurable: true,
358
+ writable: true,
359
+ value: function (list) {
360
+ // 首筆RSI
361
+ var res = [];
362
+ var EMA12 = this.getEMA12(list);
363
+ var EMA26 = this.getEMA26(list);
364
+ var DIF = this.getDIF(list, EMA12, EMA26);
365
+ var MACD9 = this.getMACD9(list, DIF);
366
+ for (var i = 0; i < list.length; i++) {
367
+ res[i] = Object.assign(list[i], DIF[i], MACD9[i]);
368
+ }
369
+ return res;
370
+ }
371
+ });
372
+ Object.defineProperty(MACD.prototype, "getDI", {
373
+ enumerable: false,
374
+ configurable: true,
375
+ writable: true,
376
+ value: function (item) {
377
+ return (item["h"] + item["l"] + 2 * item["c"]) / 4;
378
+ }
379
+ });
380
+ Object.defineProperty(MACD.prototype, "getStartEMA", {
381
+ enumerable: false,
382
+ configurable: true,
383
+ writable: true,
384
+ value: function (arr) {
385
+ var _this = this;
386
+ var sum = 0;
387
+ arr.forEach(function (item) {
388
+ var DI = _this.getDI(item);
389
+ sum += DI;
390
+ });
391
+ return sum / arr.length;
392
+ }
393
+ });
394
+ Object.defineProperty(MACD.prototype, "getEMA12", {
395
+ enumerable: false,
396
+ configurable: true,
397
+ writable: true,
398
+ value: function (list) {
399
+ var start = list.slice(0, 11);
400
+ var beforeEMA12 = this.getStartEMA(start);
401
+ var res = [];
402
+ for (var i = 0; i < list.length; i++) {
403
+ if (i < 12)
404
+ res[i] = __assign$3(__assign$3({}, list[i]), { EMA12: undefined });
405
+ else {
406
+ beforeEMA12 = (beforeEMA12 * 11) / 13 + (this.getDI(list[i]) * 2) / 13;
407
+ res[i] = __assign$3(__assign$3({}, list[i]), { EMA12: beforeEMA12 });
408
+ }
409
+ }
410
+ return res;
411
+ }
412
+ });
413
+ Object.defineProperty(MACD.prototype, "getEMA26", {
414
+ enumerable: false,
415
+ configurable: true,
416
+ writable: true,
417
+ value: function (list) {
418
+ var start = list.slice(0, 25);
419
+ var beforeEMA26 = this.getStartEMA(start);
420
+ var res = [];
421
+ for (var i = 0; i < list.length; i++) {
422
+ if (i < 26)
423
+ res[i] = __assign$3(__assign$3({}, list[i]), { EMA26: undefined });
424
+ else {
425
+ beforeEMA26 = (beforeEMA26 * 25) / 27 + (this.getDI(list[i]) * 2) / 27;
426
+ res[i] = __assign$3(__assign$3({}, list[i]), { EMA26: beforeEMA26 });
427
+ }
428
+ }
429
+ return res;
430
+ }
431
+ });
432
+ Object.defineProperty(MACD.prototype, "getDIF", {
433
+ enumerable: false,
434
+ configurable: true,
435
+ writable: true,
436
+ value: function (list, ResEMA12, ResEMA26) {
437
+ var _a, _b;
438
+ var res = [];
439
+ for (var i = 0; i < list.length; i++) {
440
+ if (i < 26)
441
+ res[i] = __assign$3(__assign$3({}, list[i]), { DIF: undefined });
442
+ else {
443
+ var EMA12 = ((_a = ResEMA12 === null || ResEMA12 === void 0 ? void 0 : ResEMA12[i]) === null || _a === void 0 ? void 0 : _a["EMA12"]) && ResEMA12[i]["EMA12"];
444
+ var EMA26 = ((_b = ResEMA26 === null || ResEMA26 === void 0 ? void 0 : ResEMA26[i]) === null || _b === void 0 ? void 0 : _b["EMA26"]) && ResEMA26[i]["EMA26"];
445
+ var DIF = EMA12 - EMA26;
446
+ res[i] = __assign$3(__assign$3({}, list[i]), { DIF: DIF });
447
+ }
448
+ }
449
+ return res;
450
+ }
451
+ });
452
+ Object.defineProperty(MACD.prototype, "getMACD9", {
453
+ enumerable: false,
454
+ configurable: true,
455
+ writable: true,
456
+ value: function (list, DIF) {
457
+ var res = [];
458
+ var beforeMACD9 = 0;
459
+ for (var i = 0; i < list.length; i++) {
460
+ if (i < 26)
461
+ res[i] = __assign$3(__assign$3({}, list[i]), { MACD9: undefined, OSC: undefined });
462
+ else if (i === 26) {
463
+ var MACD9 = DIF.slice(26, 34)
464
+ .map(function (item) { return ((item === null || item === void 0 ? void 0 : item.DIF) ? item["DIF"] : 0); })
465
+ .reduce(function (accumulator, currentValue) { return accumulator + currentValue; });
466
+ var OSC = DIF[i]["DIF"] - MACD9;
467
+ res[26] = __assign$3(__assign$3({}, list[i]), { MACD9: MACD9, OSC: OSC });
468
+ beforeMACD9 = MACD9;
469
+ }
470
+ else {
471
+ var MACD9 = beforeMACD9 + ((DIF[i]["DIF"] - beforeMACD9) * 2) / 10;
472
+ var OSC = DIF[i]["DIF"] - MACD9;
473
+ res[i] = __assign$3(__assign$3({}, list[i]), { MACD9: MACD9, OSC: OSC });
474
+ beforeMACD9 = MACD9;
475
+ }
476
+ }
477
+ return res;
478
+ }
479
+ });
480
+ return MACD;
481
+ }());
482
+
483
+ var __assign$2 = (undefined && undefined.__assign) || function () {
484
+ __assign$2 = Object.assign || function(t) {
485
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
486
+ s = arguments[i];
487
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
488
+ t[p] = s[p];
489
+ }
490
+ return t;
491
+ };
492
+ return __assign$2.apply(this, arguments);
493
+ };
494
+ var Rsi = /** @class */ (function () {
495
+ function Rsi() {
496
+ }
497
+ Object.defineProperty(Rsi.prototype, "getAllRsi", {
498
+ enumerable: false,
499
+ configurable: true,
500
+ writable: true,
501
+ value: function (list) {
502
+ var res = [];
503
+ var rsi6 = this.getRsi6(list);
504
+ var rsi12 = this.getRsi12(list);
505
+ for (var i = 0; i < list.length; i++) {
506
+ res[i] = Object.assign(list[i], rsi6[i], rsi12[i]);
507
+ }
508
+ return res;
509
+ }
510
+ });
511
+ Object.defineProperty(Rsi.prototype, "getRsi6", {
512
+ enumerable: false,
513
+ configurable: true,
514
+ writable: true,
515
+ value: function (list) {
516
+ var res = [];
517
+ // 前5筆
518
+ for (var i = 0; i < 5; i++) {
519
+ res[i] = __assign$2(__assign$2({}, list[i]), { rsi6: undefined });
520
+ }
521
+ // 第6筆Rsi
522
+ var beforeUpAvg = this.getStartUpAvg(list, 6);
523
+ var beforeDownAvg = this.getStartDownAvg(list, 6);
524
+ var firstRsi6 = this.getRsi(beforeUpAvg, beforeDownAvg);
525
+ res[5] = __assign$2(__assign$2({}, list[5]), { rsi6: firstRsi6 });
526
+ // else
527
+ for (var i = 6; i < list.length; i++) {
528
+ var minusU = 0;
529
+ var minusD = 0;
530
+ var minusC = list[i]["c"] - list[i - 1]["c"];
531
+ if (minusC > 0) {
532
+ minusU = minusC;
533
+ }
534
+ else {
535
+ minusD = minusC;
536
+ }
537
+ beforeUpAvg = (beforeUpAvg * 5) / 6 + minusU / 6;
538
+ beforeDownAvg = (beforeDownAvg * 5) / 6 + Math.abs(minusD) / 6;
539
+ var rsi6 = this.getRsi(beforeUpAvg, beforeDownAvg);
540
+ res[i] = __assign$2(__assign$2({}, list[i]), { rsi6: Math.round(rsi6 * 100) / 100 });
541
+ }
542
+ return res;
543
+ }
544
+ });
545
+ Object.defineProperty(Rsi.prototype, "getRsi12", {
546
+ enumerable: false,
547
+ configurable: true,
548
+ writable: true,
549
+ value: function (list) {
550
+ var res = [];
551
+ // 前11筆
552
+ for (var i = 0; i < 11; i++) {
553
+ res[i] = __assign$2(__assign$2({}, list[i]), { rsi12: undefined });
554
+ }
555
+ // 第12筆Rsi
556
+ var beforeUpAvg = this.getStartUpAvg(list, 12);
557
+ var beforeDownAvg = this.getStartDownAvg(list, 12);
558
+ var firstRsi12 = this.getRsi(beforeUpAvg, beforeDownAvg);
559
+ res[11] = __assign$2(__assign$2({}, list[11]), { rsi12: firstRsi12 });
560
+ // else
561
+ for (var i = 12; i < list.length; i++) {
562
+ var minusU = 0;
563
+ var minusD = 0;
564
+ var minusC = list[i]["c"] - list[i - 1]["c"];
565
+ if (minusC > 0) {
566
+ minusU = minusC;
567
+ }
568
+ else {
569
+ minusD = minusC;
570
+ }
571
+ beforeUpAvg = (beforeUpAvg * 11) / 12 + minusU / 12;
572
+ beforeDownAvg = (beforeDownAvg * 11) / 12 + Math.abs(minusD) / 12;
573
+ var rsi12 = this.getRsi(beforeUpAvg, beforeDownAvg);
574
+ res[i] = __assign$2(__assign$2({}, list[i]), { rsi12: Math.round(rsi12 * 100) / 100 });
575
+ }
576
+ return res;
577
+ }
578
+ });
579
+ Object.defineProperty(Rsi.prototype, "getStartUpAvg", {
580
+ enumerable: false,
581
+ configurable: true,
582
+ writable: true,
583
+ value: function (list, count) {
584
+ var start = list.slice(0, 5);
585
+ var sum = 0;
586
+ for (var i = 1; i < start.length; i++) {
587
+ var minus = start[i]["c"] - start[i - 1]["c"];
588
+ if (minus > 0) {
589
+ sum += minus;
590
+ }
591
+ }
592
+ return sum / count;
593
+ }
594
+ });
595
+ Object.defineProperty(Rsi.prototype, "getStartDownAvg", {
596
+ enumerable: false,
597
+ configurable: true,
598
+ writable: true,
599
+ value: function (list, count) {
600
+ var start = list.slice(0, 5);
601
+ var sum = 0;
602
+ for (var i = 1; i < start.length; i++) {
603
+ var minus = start[i]["c"] - start[i - 1]["c"];
604
+ if (minus < 0) {
605
+ sum += minus;
606
+ }
607
+ }
608
+ return Math.abs(sum / count);
609
+ }
610
+ });
611
+ Object.defineProperty(Rsi.prototype, "getRsi", {
612
+ enumerable: false,
613
+ configurable: true,
614
+ writable: true,
615
+ value: function (UpAvg, DownAvg) {
616
+ var res = 0;
617
+ if (UpAvg + DownAvg !== 0) {
618
+ res = (UpAvg / (UpAvg + DownAvg)) * 100;
619
+ }
620
+ return res;
621
+ }
622
+ });
623
+ return Rsi;
624
+ }());
625
+
626
+ var __assign$1 = (undefined && undefined.__assign) || function () {
627
+ __assign$1 = Object.assign || function(t) {
628
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
629
+ s = arguments[i];
630
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
631
+ t[p] = s[p];
632
+ }
633
+ return t;
634
+ };
635
+ return __assign$1.apply(this, arguments);
636
+ };
637
+ var Williams = /** @class */ (function () {
638
+ function Williams() {
639
+ }
640
+ Object.defineProperty(Williams.prototype, "getAllWillams", {
641
+ enumerable: false,
642
+ configurable: true,
643
+ writable: true,
644
+ value: function (list) {
645
+ var res = [];
646
+ var williams9 = this.getWilliams9(list);
647
+ var williams18 = this.getWilliams18(list);
648
+ for (var i = 0; i < list.length; i++) {
649
+ res[i] = Object.assign(list[i], williams9[i], williams18[i]);
650
+ }
651
+ return res;
652
+ }
653
+ });
654
+ Object.defineProperty(Williams.prototype, "getWilliams9", {
655
+ enumerable: false,
656
+ configurable: true,
657
+ writable: true,
658
+ value: function (list) {
659
+ var res = [];
660
+ for (var i = 0; i < list.length; i++) {
661
+ if (i < 9)
662
+ res[i] = __assign$1(__assign$1({}, list[i]), { williams9: undefined });
663
+ else {
664
+ var maxList = list.slice(i - 8, i).map(function (item) { return item["h"]; });
665
+ var minList = list.slice(i - 8, i).map(function (item) { return item["l"]; });
666
+ var max = Math.max.apply(Math, maxList);
667
+ var min = Math.min.apply(Math, minList);
668
+ var close_1 = list[i]["c"];
669
+ var williams9 = ((max - close_1) / (max - min)) * -100;
670
+ res[i] = __assign$1(__assign$1({}, list[i]), { williams9: Math.round(williams9 * 100) / 100 });
671
+ }
672
+ }
673
+ return res;
674
+ }
675
+ });
676
+ Object.defineProperty(Williams.prototype, "getWilliams18", {
677
+ enumerable: false,
678
+ configurable: true,
679
+ writable: true,
680
+ value: function (list) {
681
+ var res = [];
682
+ for (var i = 0; i < list.length; i++) {
683
+ if (i < 18)
684
+ res[i] = __assign$1(__assign$1({}, list[i]), { williams9: undefined });
685
+ else {
686
+ var maxList = list.slice(i - 17, i).map(function (item) { return item["h"]; });
687
+ var minList = list.slice(i - 17, i).map(function (item) { return item["l"]; });
688
+ var max = Math.max.apply(Math, maxList);
689
+ var min = Math.min.apply(Math, minList);
690
+ var close_2 = list[i]["c"];
691
+ var williams18 = ((max - close_2) / (max - min)) * -100;
692
+ res[i] = __assign$1(__assign$1({}, list[i]), { williams18: Math.round(williams18 * 100) / 100 });
693
+ }
694
+ }
695
+ return res;
696
+ }
697
+ });
698
+ return Williams;
699
+ }());
700
+
701
+ var __assign = (undefined && undefined.__assign) || function () {
702
+ __assign = Object.assign || function(t) {
703
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
704
+ s = arguments[i];
705
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
706
+ t[p] = s[p];
707
+ }
708
+ return t;
709
+ };
710
+ return __assign.apply(this, arguments);
711
+ };
712
+ function addDetail(obj, list, detail) {
713
+ if (detail)
714
+ return __assign(__assign({}, obj), { detail: list });
715
+ else
716
+ return __assign({}, obj);
717
+ }
718
+ function getWeekLine(list, detail) {
719
+ var res = [];
720
+ var collectWeekData = [];
721
+ list.forEach(function (item, index) {
722
+ var year = item["t"]
723
+ .toString()
724
+ .replace(/^(\d{4})(\d{2})(\d{2})$/, "$1-$2-$3");
725
+ var day = new Date(year).getDay();
726
+ switch (day) {
727
+ case 6:
728
+ break;
729
+ case 5: {
730
+ collectWeekData.push(item);
731
+ var obj = {
732
+ o: collectWeekData[0]["o"],
733
+ c: collectWeekData[collectWeekData.length - 1]["c"],
734
+ t: collectWeekData[collectWeekData.length - 1]["t"],
735
+ h: Math.max.apply(Math, collectWeekData.map(function (item) { return item.h; })),
736
+ l: Math.min.apply(Math, collectWeekData.map(function (item) { return item.l; })),
737
+ };
738
+ res.push(addDetail(obj, collectWeekData, detail));
739
+ collectWeekData = [];
740
+ break;
741
+ }
742
+ case 1:
743
+ if (collectWeekData.length !== 0) {
744
+ var obj = {
745
+ o: collectWeekData[0]["o"],
746
+ c: collectWeekData[collectWeekData.length - 1]["c"],
747
+ t: collectWeekData[collectWeekData.length - 1]["t"],
748
+ h: Math.max.apply(Math, collectWeekData.map(function (item) { return item.h; })),
749
+ l: Math.min.apply(Math, collectWeekData.map(function (item) { return item.l; })),
750
+ };
751
+ res.push(addDetail(obj, collectWeekData, detail));
752
+ }
753
+ collectWeekData = [];
754
+ collectWeekData.push(item);
755
+ break;
756
+ default:
757
+ collectWeekData.push(item);
758
+ if (list.length - 1 === index) {
759
+ var obj = {
760
+ o: collectWeekData[0]["o"],
761
+ c: collectWeekData[collectWeekData.length - 1]["c"],
762
+ t: collectWeekData[collectWeekData.length - 1]["t"],
763
+ h: Math.max.apply(Math, collectWeekData.map(function (item) { return item.h; })),
764
+ l: Math.min.apply(Math, collectWeekData.map(function (item) { return item.l; })),
765
+ };
766
+ res.push(addDetail(obj, collectWeekData, detail));
767
+ }
768
+ break;
769
+ }
770
+ });
771
+ return res;
772
+ }
773
+
774
+ var Gold = /** @class */ (function () {
775
+ function Gold() {
776
+ }
777
+ Object.defineProperty(Gold.prototype, "findHighPoint", {
778
+ enumerable: false,
779
+ configurable: true,
780
+ writable: true,
781
+ value: function (list) {
782
+ var weekLine = getWeekLine(list, true);
783
+ var hightPoints = {};
784
+ var _loop_1 = function (i) {
785
+ var hightPoint = undefined;
786
+ switch (i) {
787
+ case 0:
788
+ {
789
+ var h1 = weekLine[i].h;
790
+ var h2 = weekLine[i + 1].h;
791
+ var h3 = weekLine[i + 2].h;
792
+ if (h1 > h2 && h1 > h3)
793
+ hightPoint = weekLine[i];
794
+ }
795
+ break;
796
+ case 1:
797
+ {
798
+ var h1 = weekLine[i - 1].h;
799
+ var h2 = weekLine[i].h;
800
+ var h3 = weekLine[i + 1].h;
801
+ var h4 = weekLine[i + 2].h;
802
+ if (h2 > h1 && h2 > h3 && h2 > h4)
803
+ hightPoint = weekLine[i];
804
+ }
805
+ break;
806
+ case weekLine.length - 3:
807
+ {
808
+ var h1 = weekLine[i - 2].h;
809
+ var h2 = weekLine[i - 1].h;
810
+ var h3 = weekLine[i].h;
811
+ var h4 = weekLine[i + 1].h;
812
+ var h5 = weekLine[i + 2].h;
813
+ if (h3 > h1 && h3 > h2 && h3 > h4 && h3 > h5)
814
+ hightPoint = weekLine[i];
815
+ }
816
+ break;
817
+ case weekLine.length - 2:
818
+ {
819
+ var h1 = weekLine[i - 2].h;
820
+ var h2 = weekLine[i - 1].h;
821
+ var h3 = weekLine[i].h;
822
+ var h4 = weekLine[i + 1].h;
823
+ if (h3 > h1 && h3 > h2 && h3 > h4)
824
+ hightPoint = weekLine[i];
825
+ }
826
+ break;
827
+ case weekLine.length - 1:
828
+ {
829
+ var h1 = weekLine[i - 2].h;
830
+ var h2 = weekLine[i - 1].h;
831
+ var h3 = weekLine[i].h;
832
+ if (h3 > h2 && h3 > h1)
833
+ hightPoint = weekLine[i];
834
+ }
835
+ break;
836
+ default:
837
+ {
838
+ var h1 = weekLine[i - 2].h;
839
+ var h2 = weekLine[i - 1].h;
840
+ var h3 = weekLine[i].h;
841
+ var h4 = weekLine[i + 1].h;
842
+ var h5 = weekLine[i + 2].h;
843
+ var h6 = weekLine[i + 3].h;
844
+ if (h3 > h2 && h3 > h4 && h3 > h5 && h3 > h6)
845
+ hightPoint = weekLine[i];
846
+ if (h3 > h1 && h3 > h2 && h3 > h4 && h3 > h5)
847
+ hightPoint = weekLine[i];
848
+ }
849
+ break;
850
+ }
851
+ if (hightPoint && hightPoint["detail"]) {
852
+ var h_1 = hightPoint.h;
853
+ var theHight = hightPoint.detail.find(function (item) { return item.h === h_1; });
854
+ delete hightPoint.detail;
855
+ if (theHight)
856
+ hightPoints[theHight === null || theHight === void 0 ? void 0 : theHight.t] = theHight;
857
+ }
858
+ };
859
+ for (var i = 0; i < weekLine.length; i++) {
860
+ _loop_1(i);
861
+ }
862
+ return hightPoints;
863
+ }
864
+ });
865
+ Object.defineProperty(Gold.prototype, "findLowPoint", {
866
+ enumerable: false,
867
+ configurable: true,
868
+ writable: true,
869
+ value: function (list) {
870
+ var weekLine = getWeekLine(list, true);
871
+ var lowPoints = {};
872
+ var _loop_2 = function (i) {
873
+ var lowPoint = undefined;
874
+ switch (i) {
875
+ case 0:
876
+ {
877
+ var l1 = weekLine[i].l;
878
+ var l2 = weekLine[i + 1].l;
879
+ var l3 = weekLine[i + 2].l;
880
+ if (l1 < l2 && l1 < l3)
881
+ lowPoint = weekLine[i];
882
+ }
883
+ break;
884
+ case 1:
885
+ {
886
+ var l1 = weekLine[i - 1].l;
887
+ var l2 = weekLine[i].l;
888
+ var l3 = weekLine[i + 1].l;
889
+ var l4 = weekLine[i + 2].l;
890
+ if (l2 < l1 && l2 < l3 && l2 < l4)
891
+ lowPoint = weekLine[i];
892
+ }
893
+ break;
894
+ case weekLine.length - 3:
895
+ {
896
+ var l1 = weekLine[i - 2].l;
897
+ var l2 = weekLine[i - 1].l;
898
+ var l3 = weekLine[i].l;
899
+ var l4 = weekLine[i + 1].l;
900
+ var l5 = weekLine[i + 2].l;
901
+ if (l3 < l1 && l3 < l2 && l3 < l4 && l3 < l5)
902
+ lowPoint = weekLine[i];
903
+ }
904
+ break;
905
+ case weekLine.length - 2:
906
+ {
907
+ var l1 = weekLine[i - 2].l;
908
+ var l2 = weekLine[i - 1].l;
909
+ var l3 = weekLine[i].l;
910
+ var l4 = weekLine[i + 1].l;
911
+ if (l3 < l1 && l3 < l2 && l3 < l4)
912
+ lowPoint = weekLine[i];
913
+ }
914
+ break;
915
+ case weekLine.length - 1:
916
+ {
917
+ var l1 = weekLine[i - 2].l;
918
+ var l2 = weekLine[i - 1].l;
919
+ var l3 = weekLine[i].l;
920
+ if (l3 < l2 && l3 < l1)
921
+ lowPoint = weekLine[i];
922
+ }
923
+ break;
924
+ default:
925
+ {
926
+ var l1 = weekLine[i - 2].l;
927
+ var l2 = weekLine[i - 1].l;
928
+ var l3 = weekLine[i].l;
929
+ var l4 = weekLine[i + 1].l;
930
+ var l5 = weekLine[i + 2].l;
931
+ var l6 = weekLine[i + 3].l;
932
+ if (l3 < l2 && l3 < l4 && l3 < l5 && l3 < l6)
933
+ lowPoint = weekLine[i];
934
+ if (l3 < l1 && l3 < l2 && l3 < l4 && l3 < l5)
935
+ lowPoint = weekLine[i];
936
+ }
937
+ break;
938
+ }
939
+ if (lowPoint && lowPoint["detail"]) {
940
+ var l_1 = lowPoint.l;
941
+ var theLow = lowPoint.detail.find(function (item) { return item.l === l_1; });
942
+ delete lowPoint.detail;
943
+ if (theLow)
944
+ lowPoints[theLow === null || theLow === void 0 ? void 0 : theLow.t] = theLow;
945
+ }
946
+ };
947
+ for (var i = 0; i < weekLine.length; i++) {
948
+ _loop_2(i);
949
+ }
950
+ return lowPoints;
951
+ }
952
+ });
953
+ Object.defineProperty(Gold.prototype, "getGold", {
954
+ enumerable: false,
955
+ configurable: true,
956
+ writable: true,
957
+ value: function (list) {
958
+ var hightPoints = this.findHighPoint(list);
959
+ var lowPoints = this.findLowPoint(list);
960
+ var lastHightPointDate = Object.keys(hightPoints).slice(-1)[0] !==
961
+ list[list.length - 1].t.toString()
962
+ ? Object.keys(hightPoints).slice(-1)[0]
963
+ : Object.keys(hightPoints).slice(-2)[0];
964
+ var lastLowPointDate = Object.keys(lowPoints).slice(-1)[0] !== list[list.length - 1].t.toString()
965
+ ? Object.keys(lowPoints).slice(-1)[0]
966
+ : Object.keys(lowPoints).slice(-2)[0];
967
+ var highestPoint = hightPoints[lastHightPointDate].h;
968
+ var lowestPoint = lowPoints[lastLowPointDate].l;
969
+ var res = {
970
+ highestPointDate: parseInt(lastHightPointDate),
971
+ lowestPointDate: parseInt(lastLowPointDate),
972
+ lowestPoint: lowestPoint,
973
+ highestPoint: highestPoint,
974
+ superStrong: Math.round((highestPoint - (highestPoint - lowestPoint) * 0.191) * 100) / 100,
975
+ strong: Math.round((highestPoint - (highestPoint - lowestPoint) * 0.382) * 100) / 100,
976
+ middle: Math.round((highestPoint - (highestPoint - lowestPoint) * 0.5) * 100) /
977
+ 100,
978
+ weak: Math.round((highestPoint - (highestPoint - lowestPoint) * 0.618) * 100) / 100,
979
+ superWeak: Math.round((highestPoint - (highestPoint - lowestPoint) * 0.809) * 100) / 100,
980
+ };
981
+ return res;
982
+ }
983
+ });
984
+ return Gold;
985
+ }());
986
+
987
+ var Mode;
988
+ (function (Mode) {
989
+ Mode[Mode["NumberToString"] = 1] = "NumberToString";
990
+ Mode[Mode["NumberToTimeStamp"] = 2] = "NumberToTimeStamp";
991
+ Mode[Mode["StringToTimeStamp"] = 3] = "StringToTimeStamp";
992
+ Mode[Mode["TimeStampToString"] = 4] = "TimeStampToString";
993
+ Mode[Mode["TimeStampToNumber"] = 5] = "TimeStampToNumber";
994
+ Mode[Mode["StringToNumber"] = 6] = "StringToNumber";
995
+ })(Mode || (Mode = {}));
996
+ function dateFormat(date, mode) {
997
+ switch (mode) {
998
+ case Mode.NumberToString: {
999
+ var input = date.toString();
1000
+ var res = input.slice(0, 4) + "-" + input.slice(4, 6) + "-" + input.slice(6, 8);
1001
+ return res;
1002
+ }
1003
+ case Mode.NumberToTimeStamp: {
1004
+ var input = date.toString();
1005
+ var stringDate = input.slice(0, 4) + "-" + input.slice(4, 6) + "-" + input.slice(6, 8);
1006
+ var res = Date.parse(stringDate);
1007
+ return res;
1008
+ }
1009
+ case Mode.StringToTimeStamp: {
1010
+ var res = Date.parse(date);
1011
+ return res;
1012
+ }
1013
+ case Mode.TimeStampToString: {
1014
+ var newDate = new Date(date);
1015
+ var yy = newDate.getFullYear();
1016
+ var mm = newDate.getMonth() + 1 < 10
1017
+ ? "0" + (newDate.getMonth() + 1)
1018
+ : newDate.getMonth() + 1;
1019
+ var dd = newDate.getDate() < 10 ? "0" + newDate.getDate() : newDate.getDate();
1020
+ var res = yy + "-" + mm + "-" + dd;
1021
+ return res;
1022
+ }
1023
+ case Mode.TimeStampToNumber: {
1024
+ var newDate = new Date(date);
1025
+ var yy = newDate.getFullYear();
1026
+ var mm = newDate.getMonth() + 1 < 10
1027
+ ? "0" + (newDate.getMonth() + 1)
1028
+ : newDate.getMonth() + 1;
1029
+ var dd = newDate.getDate() < 10 ? "0" + newDate.getDate() : newDate.getDate();
1030
+ var res = "".concat(yy).concat(mm).concat(dd);
1031
+ return parseInt(res);
1032
+ }
1033
+ case Mode.StringToNumber: {
1034
+ var res = date.toString().replace("-", "").replace("-", "");
1035
+ return parseInt(res);
1036
+ }
1037
+ default:
1038
+ return "please setting mode";
1039
+ }
1040
+ }
1041
+
1042
+ exports.Gold = Gold;
1043
+ exports.Ma = Ma;
1044
+ exports.Macd = MACD;
1045
+ exports.Rsi = Rsi;
1046
+ exports.Williams = Williams;
1047
+ exports.add = add;
1048
+ exports.calcSeasonalIndicesNoTrend = calcSeasonalIndicesNoTrend;
1049
+ exports.dateFormat = dateFormat;
1050
+ exports.exponentialSmoothing = exponentialSmoothing;
1051
+ exports.getWeekLine = getWeekLine;
1052
+ exports.minus = minus;
1053
+ exports.movingAverages = movingAverages;
1054
+ exports.simpleRegressionModel = simpleRegressionModel;
1055
+ exports.weightMovingAverages = weightMovingAverages;
1056
+
1057
+ Object.defineProperty(exports, '__esModule', { value: true });
1058
+
1059
+ }));