@ch20026103/anysis 0.0.15-alpha → 0.0.16-beta

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 (61) hide show
  1. package/demo/main.js +12 -10
  2. package/dist/cjs/index.d.ts +1 -1
  3. package/dist/cjs/index.js +3 -3
  4. package/dist/cjs/stockSkills/boll.d.ts +25 -50
  5. package/dist/cjs/stockSkills/boll.js +9 -11
  6. package/dist/cjs/stockSkills/ema.d.ts +11 -33
  7. package/dist/cjs/stockSkills/gold.d.ts +13 -32
  8. package/dist/cjs/stockSkills/kd.d.ts +29 -72
  9. package/dist/cjs/stockSkills/kd.js +14 -11
  10. package/dist/cjs/stockSkills/kd.test.js +1 -1
  11. package/dist/cjs/stockSkills/ma.d.ts +39 -60
  12. package/dist/cjs/stockSkills/ma.js +16 -7
  13. package/dist/cjs/stockSkills/macd.d.ts +32 -63
  14. package/dist/cjs/stockSkills/macd.js +21 -24
  15. package/dist/cjs/stockSkills/obv.d.ts +18 -49
  16. package/dist/cjs/stockSkills/obv.js +3 -1
  17. package/dist/cjs/stockSkills/rsi.d.ts +10 -26
  18. package/dist/cjs/stockSkills/types.d.ts +10 -0
  19. package/dist/cjs/stockSkills/types.js +2 -0
  20. package/dist/cjs/stockSkills/utils/dateFormat.d.ts +6 -3
  21. package/dist/cjs/stockSkills/utils/dateFormat.js +2 -2
  22. package/dist/cjs/stockSkills/utils/getWeekLine.d.ts +6 -15
  23. package/dist/cjs/stockSkills/utils/getWeekLine.js +3 -0
  24. package/dist/cjs/stockSkills/utils/getWeekLine.test.js +1 -0
  25. package/dist/cjs/stockSkills/vma.d.ts +13 -26
  26. package/dist/cjs/stockSkills/week.d.ts +16 -0
  27. package/dist/cjs/stockSkills/week.js +56 -0
  28. package/dist/cjs/stockSkills/week.test.d.ts +1 -0
  29. package/dist/cjs/stockSkills/week.test.js +60 -0
  30. package/dist/cjs/stockSkills/williams.d.ts +20 -32
  31. package/dist/esm/index.d.ts +1 -1
  32. package/dist/esm/index.js +1 -1
  33. package/dist/esm/stockSkills/boll.d.ts +25 -50
  34. package/dist/esm/stockSkills/boll.js +9 -11
  35. package/dist/esm/stockSkills/ema.d.ts +11 -33
  36. package/dist/esm/stockSkills/gold.d.ts +13 -32
  37. package/dist/esm/stockSkills/kd.d.ts +29 -72
  38. package/dist/esm/stockSkills/kd.js +14 -11
  39. package/dist/esm/stockSkills/kd.test.js +1 -1
  40. package/dist/esm/stockSkills/ma.d.ts +39 -60
  41. package/dist/esm/stockSkills/ma.js +16 -7
  42. package/dist/esm/stockSkills/macd.d.ts +32 -63
  43. package/dist/esm/stockSkills/macd.js +21 -24
  44. package/dist/esm/stockSkills/obv.d.ts +18 -49
  45. package/dist/esm/stockSkills/obv.js +3 -1
  46. package/dist/esm/stockSkills/rsi.d.ts +10 -26
  47. package/dist/esm/stockSkills/types.d.ts +10 -0
  48. package/dist/esm/stockSkills/types.js +1 -0
  49. package/dist/esm/stockSkills/utils/dateFormat.d.ts +6 -3
  50. package/dist/esm/stockSkills/utils/dateFormat.js +2 -2
  51. package/dist/esm/stockSkills/utils/getWeekLine.d.ts +6 -15
  52. package/dist/esm/stockSkills/utils/getWeekLine.js +3 -0
  53. package/dist/esm/stockSkills/utils/getWeekLine.test.js +1 -0
  54. package/dist/esm/stockSkills/vma.d.ts +13 -26
  55. package/dist/esm/stockSkills/week.d.ts +16 -0
  56. package/dist/esm/stockSkills/week.js +54 -0
  57. package/dist/esm/stockSkills/week.test.d.ts +1 -0
  58. package/dist/esm/stockSkills/week.test.js +58 -0
  59. package/dist/esm/stockSkills/williams.d.ts +20 -32
  60. package/dist/umd/index.js +125 -59
  61. package/package.json +1 -1
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var week_1 = require("./week");
4
+ describe('Week', function () {
5
+ var week;
6
+ beforeEach(function () {
7
+ week = new week_1.default();
8
+ });
9
+ describe('init', function () {
10
+ it('應該正確初始化數據', function () {
11
+ var data = { o: 100, c: 101, h: 102, l: 99, t: 20230501, v: 1000 };
12
+ var result = week.init(data);
13
+ expect(result).toEqual({ dataset: [data], week: [] });
14
+ });
15
+ });
16
+ describe('next', function () {
17
+ it('應該正確處理非週末的數據', function () {
18
+ var initialData = { o: 100, c: 101, h: 102, l: 99, t: 20230501, v: 1000 };
19
+ var nextData = { o: 101, c: 102, h: 103, l: 100, t: 20230502, v: 1100 };
20
+ var initialResult = week.init(initialData);
21
+ var result = week.next(nextData, initialResult);
22
+ expect(result.dataset).toHaveLength(2);
23
+ expect(result.week).toHaveLength(0);
24
+ });
25
+ it('應該在週五時生成週數據', function () {
26
+ var initialData = { o: 100, c: 101, h: 102, l: 99, t: 20230501, v: 1000 };
27
+ var result = week.init(initialData);
28
+ for (var i = 2; i <= 5; i++) {
29
+ var nextData = { o: 100 + i, c: 101 + i, h: 102 + i, l: 99 + i, t: 20230500 + i, v: 1000 + i * 100 };
30
+ result = week.next(nextData, result);
31
+ }
32
+ expect(result.dataset).toHaveLength(5);
33
+ expect(result.week).toHaveLength(1);
34
+ expect(result.week[0]).toEqual({
35
+ o: 100,
36
+ c: 106,
37
+ h: 107,
38
+ l: 99,
39
+ t: 20230505,
40
+ v: 6400
41
+ });
42
+ });
43
+ it('應該忽略週末數據', function () {
44
+ var initialData = { o: 100, c: 101, h: 102, l: 99, t: 20230505, v: 1000 };
45
+ var weekendData = { o: 101, c: 102, h: 103, l: 100, t: 20230506, v: 1100 };
46
+ var initialResult = week.init(initialData);
47
+ var result = week.next(weekendData, initialResult);
48
+ expect(result).toEqual(initialResult);
49
+ });
50
+ it('應該在新的一週開始時重置數據集', function () {
51
+ var fridayData = { o: 100, c: 101, h: 102, l: 99, t: 20230505, v: 1000 };
52
+ var mondayData = { o: 101, c: 102, h: 103, l: 100, t: 20230508, v: 1100 };
53
+ var result = week.init(fridayData);
54
+ result = week.next(fridayData, result);
55
+ result = week.next(mondayData, result);
56
+ expect(result.dataset).toHaveLength(1);
57
+ expect(result.dataset[0]).toEqual(mondayData);
58
+ });
59
+ });
60
+ });
@@ -1,9 +1,4 @@
1
- type DataType = {
2
- h: number;
3
- l: number;
4
- c: number;
5
- };
6
- type ListType = DataType[];
1
+ import { StockListType, StockType } from "./types";
7
2
  type ResWilliams9Type = {
8
3
  c: number;
9
4
  williams9: number | null;
@@ -17,42 +12,35 @@ type ResAllWilliamsType = {
17
12
  williams18: number | null;
18
13
  williams9: number | null;
19
14
  }[];
15
+ export type WilliamsResType = {
16
+ dataset: StockListType;
17
+ williams: number;
18
+ type: number;
19
+ };
20
20
  interface WilliamsType {
21
- init: (data: DataType, type: number) => {
22
- dataset: ListType;
23
- williams: number;
24
- type: number;
25
- };
26
- next: (data: DataType, preList: {
27
- dataset: ListType;
21
+ init: (data: StockType, type: number) => WilliamsResType;
22
+ next: (data: StockType, preList: {
23
+ dataset: StockListType;
28
24
  williams: number;
29
25
  type: number;
30
- }, type: number) => {
31
- dataset: ListType;
32
- williams: number;
33
- type: number;
34
- };
35
- getWilliams9: (list: ListType) => ResWilliams9Type;
36
- getWilliams18: (list: ListType) => ResWilliams18Type;
37
- getAllWillams(list: ListType): ResAllWilliamsType;
26
+ }, type: number) => WilliamsResType;
27
+ getWilliams9: (list: StockListType) => ResWilliams9Type;
28
+ getWilliams18: (list: StockListType) => ResWilliams18Type;
29
+ getAllWillams(list: StockListType): ResAllWilliamsType;
38
30
  }
39
31
  export default class Williams implements WilliamsType {
40
- init(data: DataType, type: number): {
41
- dataset: DataType[];
32
+ init(data: StockType, type: number): {
33
+ dataset: StockType[];
42
34
  williams: number;
43
35
  type: number;
44
36
  };
45
- next(data: DataType, preList: {
46
- dataset: ListType;
47
- williams: number;
48
- type: number;
49
- }, type: number): {
50
- dataset: ListType;
37
+ next(data: StockType, preList: WilliamsResType, type: number): {
38
+ dataset: StockListType;
51
39
  williams: number;
52
40
  type: number;
53
41
  };
54
- getAllWillams(list: ListType): ResAllWilliamsType;
55
- getWilliams9(list: ListType): ResWilliams9Type;
56
- getWilliams18(list: ListType): ResWilliams18Type;
42
+ getAllWillams(list: StockListType): ResAllWilliamsType;
43
+ getWilliams9(list: StockListType): ResWilliams9Type;
44
+ getWilliams18(list: StockListType): ResWilliams18Type;
57
45
  }
58
46
  export {};
@@ -15,7 +15,7 @@ export { default as Macd } from "./stockSkills/macd.js";
15
15
  export { default as Obv } from "./stockSkills/obv.js";
16
16
  export { default as Rsi } from "./stockSkills/rsi.js";
17
17
  export { default as dateFormat } from "./stockSkills/utils/dateFormat.js";
18
- export { default as getWeekLine } from "./stockSkills/utils/getWeekLine.js";
18
+ export { default as Week } from "./stockSkills/week.js";
19
19
  export { default as Vma } from "./stockSkills/vma.js";
20
20
  export { default as Williams } from "./stockSkills/williams.js";
21
21
  export { add } from "./test/add.js";
package/dist/esm/index.js CHANGED
@@ -18,7 +18,7 @@ export { default as Macd } from "./stockSkills/macd.js";
18
18
  export { default as Obv } from "./stockSkills/obv.js";
19
19
  export { default as Rsi } from "./stockSkills/rsi.js";
20
20
  export { default as dateFormat } from "./stockSkills/utils/dateFormat.js";
21
- export { default as getWeekLine } from "./stockSkills/utils/getWeekLine.js";
21
+ export { default as Week } from "./stockSkills/week.js";
22
22
  export { default as Vma } from "./stockSkills/vma.js";
23
23
  export { default as Williams } from "./stockSkills/williams.js";
24
24
  export { add } from "./test/add.js";
@@ -1,59 +1,34 @@
1
- type ItemType = {
2
- c: number;
3
- [key: string]: unknown;
4
- };
5
- type ListType = ItemType[];
1
+ import { StockListType, StockType } from "./types";
6
2
  export type BollResType = {
7
- [key: string]: unknown;
8
- bollMa: number | null;
9
- bollUb: number | null;
10
- bollLb: number | null;
11
- }[];
12
- interface BollType {
13
- init: (data: ItemType) => {
14
- dataset: ListType;
15
- bollMa: number | null;
16
- bollUb: number | null;
17
- bollLb: number | null;
18
- };
19
- next: (data: ItemType, preList: {
20
- dataset: ListType;
21
- bollMa: number | null;
22
- bollUb: number | null;
23
- bollLb: number | null;
24
- }, type: number) => {
25
- dataset: ListType;
26
- bollMa: number | null;
27
- bollUb: number | null;
28
- bollLb: number | null;
29
- };
30
- getBoll: (list: ListType, type: number) => BollResType;
3
+ dataset: StockListType;
4
+ bollMa: number;
5
+ bollUb: number;
6
+ bollLb: number;
7
+ };
8
+ interface BollClassType {
9
+ init: (data: StockType) => BollResType;
10
+ next: (data: StockType, preList: BollResType, type: number) => BollResType;
11
+ getBoll: (list: StockListType, type: number) => {
12
+ [key: string]: unknown;
13
+ bollMa: number;
14
+ bollUb: number;
15
+ bollLb: number;
16
+ }[];
31
17
  }
32
- export default class Boll implements BollType {
33
- init(data: ItemType): {
34
- dataset: ListType;
35
- bollMa: number | null;
36
- bollUb: number | null;
37
- bollLb: number | null;
38
- };
39
- next(data: ItemType, preList: {
40
- dataset: ListType;
41
- bollMa: number | null;
42
- bollUb: number | null;
43
- bollLb: number | null;
44
- }, type: number): {
45
- dataset: ListType;
46
- type: number;
47
- bollMa: null;
48
- bollUb: null;
49
- bollLb: null;
50
- } | {
51
- dataset: ListType;
18
+ export default class Boll implements BollClassType {
19
+ init(data: StockType): BollResType;
20
+ next(data: StockType, preList: BollResType, type: number): {
21
+ dataset: StockListType;
52
22
  type: number;
53
23
  bollMa: number;
54
24
  bollUb: number;
55
25
  bollLb: number;
56
26
  };
57
- getBoll(list: ListType, type: number): BollResType;
27
+ getBoll(list: StockListType, type: number): {
28
+ [key: string]: unknown;
29
+ bollMa: number;
30
+ bollUb: number;
31
+ bollLb: number;
32
+ }[];
58
33
  }
59
34
  export {};
@@ -19,9 +19,9 @@ var Boll = /** @class */ (function () {
19
19
  value: function (data) {
20
20
  return {
21
21
  dataset: [data],
22
- bollMa: null,
23
- bollUb: null,
24
- bollLb: null,
22
+ bollMa: 0,
23
+ bollUb: 0,
24
+ bollLb: 0,
25
25
  };
26
26
  }
27
27
  });
@@ -35,9 +35,9 @@ var Boll = /** @class */ (function () {
35
35
  return {
36
36
  dataset: preList.dataset,
37
37
  type: type,
38
- bollMa: null,
39
- bollUb: null,
40
- bollLb: null,
38
+ bollMa: 0,
39
+ bollUb: 0,
40
+ bollLb: 0,
41
41
  };
42
42
  }
43
43
  else {
@@ -47,7 +47,7 @@ var Boll = /** @class */ (function () {
47
47
  var sum = preList.dataset.reduce(function (pre, current) { return pre + current.c; }, 0);
48
48
  var bollMa_1 = Math.round((sum / type) * 100) / 100;
49
49
  var difference = preList.dataset.reduce(function (pre, current) {
50
- return bollMa_1 !== null ? pre + Math.pow(current.c - bollMa_1, 2) : pre;
50
+ return bollMa_1 !== 0 ? pre + Math.pow(current.c - bollMa_1, 2) : pre;
51
51
  }, 0);
52
52
  var std = Math.round(Math.sqrt(difference / type) * 100) / 100;
53
53
  return {
@@ -68,7 +68,7 @@ var Boll = /** @class */ (function () {
68
68
  var res = [];
69
69
  var _loop_1 = function (i) {
70
70
  if (i < type)
71
- res[i] = __assign(__assign({}, list[i]), { bollMa: null, bollUb: null, bollLb: null });
71
+ res[i] = __assign(__assign({}, list[i]), { bollMa: 0, bollUb: 0, bollLb: 0 });
72
72
  else {
73
73
  // bollMa
74
74
  var sumMa = list
@@ -79,9 +79,7 @@ var Boll = /** @class */ (function () {
79
79
  var difference = res
80
80
  .slice(i - (type - 1), i + 1)
81
81
  .reduce(function (pre, current) {
82
- return bollMa_2 !== null
83
- ? pre + Math.pow(current.c - bollMa_2, 2)
84
- : pre;
82
+ return bollMa_2 !== 0 ? pre + Math.pow(current.c - bollMa_2, 2) : pre;
85
83
  }, 0);
86
84
  var std = Math.round(Math.sqrt(difference / type) * 100) / 100;
87
85
  res[i] = __assign(__assign({}, list[i]), { bollMa: bollMa_2, bollUb: bollMa_2 + 2 * std, bollLb: bollMa_2 - 2 * std });
@@ -1,40 +1,18 @@
1
- type ItemType = {
2
- c: number;
3
- [key: string]: unknown;
1
+ import { StockListType, StockType } from "./types";
2
+ export type EmaResType = {
3
+ dataset: StockListType;
4
+ ema: number;
5
+ type: number;
4
6
  };
5
- type ListType = ItemType[];
6
- interface EmaType {
7
- init: (data: ItemType, type: number) => {
8
- dataset: ListType;
9
- ema: number;
10
- type: number;
11
- };
12
- next: (data: ItemType, preList: {
13
- dataset: ListType;
14
- ema: number;
15
- type: number;
16
- }, type: number) => {
17
- dataset: ListType;
18
- ema: number;
19
- type: number;
20
- };
7
+ interface EmaClassType {
8
+ init: (data: StockType, type: number) => EmaResType;
9
+ next: (data: StockType, preList: EmaResType, type: number) => EmaResType;
21
10
  getStartEma: (list: number[], period: number) => number;
22
11
  getEma: (list: number[], period: number) => (number | null)[];
23
12
  }
24
- export default class Ema implements EmaType {
25
- init(data: ItemType, type: number): {
26
- dataset: ListType;
27
- ema: number;
28
- type: number;
29
- };
30
- next(data: ItemType, preList: {
31
- dataset: ListType;
32
- ema: number;
33
- }, type: number): {
34
- dataset: ListType;
35
- ema: number;
36
- type: number;
37
- };
13
+ export default class Ema implements EmaClassType {
14
+ init(data: StockType, type: number): EmaResType;
15
+ next(data: StockType, preList: EmaResType, type: number): EmaResType;
38
16
  getStartEma(list: number[], period: number): number;
39
17
  getEma(list: number[], period: number): (number | null)[];
40
18
  }
@@ -1,3 +1,6 @@
1
+ import { StockType } from "./types";
2
+ type NewStockType = Required<Pick<StockType, 'v'>> & StockType;
3
+ type NewStockListType = NewStockType[];
1
4
  export type GetGoldResType = {
2
5
  lowestPoint: number;
3
6
  highestPoint: number;
@@ -7,42 +10,20 @@ export type GetGoldResType = {
7
10
  weak: number;
8
11
  superWeak: number;
9
12
  };
10
- type ListType = {
11
- h: number;
12
- t: number;
13
- o: number;
14
- c: number;
15
- l: number;
16
- [key: string]: unknown;
17
- }[];
18
- type FindHightestResType = {
19
- [key: string]: {
20
- h: number;
21
- t: number;
22
- o: number;
23
- c: number;
24
- l: number;
25
- [key: string]: unknown;
26
- };
13
+ export type FindHightestResType = {
14
+ [key: string]: NewStockType;
27
15
  };
28
- type FindLowestResType = {
29
- [key: string]: {
30
- h: number;
31
- t: number;
32
- o: number;
33
- c: number;
34
- l: number;
35
- [key: string]: unknown;
36
- };
16
+ export type FindLowestResType = {
17
+ [key: string]: NewStockType;
37
18
  };
38
- interface GoldType {
39
- findHighPoint: (list: ListType) => FindHightestResType;
40
- findLowPoint: (list: ListType) => FindLowestResType;
19
+ interface GoldClassType {
20
+ findHighPoint: (list: NewStockListType) => FindHightestResType;
21
+ findLowPoint: (list: NewStockListType) => FindLowestResType;
41
22
  getGold: (highestPoint: number, lowestPoint: number) => GetGoldResType;
42
23
  }
43
- export default class Gold implements GoldType {
44
- findHighPoint(list: ListType): FindHightestResType;
45
- findLowPoint(list: ListType): FindLowestResType;
24
+ export default class Gold implements GoldClassType {
25
+ findHighPoint(list: NewStockListType): FindHightestResType;
26
+ findLowPoint(list: NewStockListType): FindLowestResType;
46
27
  getGold(highestPoint: number, lowestPoint: number): GetGoldResType;
47
28
  }
48
29
  export {};
@@ -1,78 +1,35 @@
1
- interface KdType {
2
- getRSV: (list: ListType) => ResRSV;
3
- getKD: (list: ListType) => ResKD;
4
- }
5
- type DataType = {
6
- c: number;
7
- h: number;
8
- l: number;
9
- };
10
- type ListType = DataType[];
1
+ import { StockListType, StockType } from "./types";
11
2
  type ResRSV = {
12
3
  c: number;
13
- rsv: number | null;
14
- }[];
4
+ rsv: number;
5
+ [key: string]: unknown;
6
+ };
15
7
  type ResKD = {
16
8
  c: number;
17
- rsv: number | null;
18
- k: number | null;
19
- d: number | null;
20
- "k-d": number | null;
21
- }[];
22
- export default class Kd implements KdType {
23
- init(data: DataType): {
24
- dataset: ListType;
25
- rsv: number | null;
26
- k: number | null;
27
- d: number | null;
28
- "k-d": number | null;
29
- };
30
- next(data: DataType, preList: {
31
- dataset: ListType;
32
- rsv: number | null;
33
- k: number | null;
34
- d: number | null;
35
- "k-d": number | null;
36
- }, type: number): {
37
- dataset: ListType;
38
- rsv: null;
39
- k: null;
40
- d: null;
41
- "k-d": null;
42
- } | {
43
- dataset: ListType;
44
- rsv: number;
45
- k: number;
46
- d: number;
47
- "k-d": number;
48
- };
49
- getRSV(list: ListType): ({
50
- rsv: null;
51
- c: number;
52
- h: number;
53
- l: number;
54
- } | {
55
- rsv: number;
56
- c: number;
57
- h: number;
58
- l: number;
59
- })[];
60
- getKD(list: ListType): ({
61
- rsv: null;
62
- k: null;
63
- d: null;
64
- "k-d": null;
65
- c: number;
66
- h: number;
67
- l: number;
68
- } | {
69
- rsv: number;
70
- k: number;
71
- d: number;
72
- "k-d": number;
73
- c: number;
74
- h: number;
75
- l: number;
76
- })[];
9
+ rsv: number;
10
+ k: number;
11
+ d: number;
12
+ "k-d": number;
13
+ [key: string]: unknown;
14
+ };
15
+ export type KdResType = {
16
+ dataset: StockListType;
17
+ rsv: number;
18
+ k: number;
19
+ d: number;
20
+ "k-d": number;
21
+ type: number;
22
+ };
23
+ interface KdClassType {
24
+ init: (data: StockType, type: number) => KdResType;
25
+ next: (data: StockType, preList: KdResType, type: number) => KdResType;
26
+ getRSV: (list: StockListType) => ResRSV[];
27
+ getKD: (list: StockListType) => ResKD[];
28
+ }
29
+ export default class Kd implements KdClassType {
30
+ init(data: StockType, type: number): KdResType;
31
+ next(data: StockType, preList: KdResType, type: number): KdResType;
32
+ getRSV(list: StockListType): ResRSV[];
33
+ getKD(list: StockListType): ResKD[];
77
34
  }
78
35
  export {};
@@ -16,13 +16,14 @@ var Kd = /** @class */ (function () {
16
16
  enumerable: false,
17
17
  configurable: true,
18
18
  writable: true,
19
- value: function (data) {
19
+ value: function (data, type) {
20
20
  return {
21
21
  dataset: [data],
22
- rsv: null,
23
- k: null,
24
- d: null,
25
- "k-d": null,
22
+ rsv: 0,
23
+ k: 0,
24
+ d: 0,
25
+ "k-d": 0,
26
+ type: type,
26
27
  };
27
28
  }
28
29
  });
@@ -35,10 +36,11 @@ var Kd = /** @class */ (function () {
35
36
  if (preList.dataset.length < type) {
36
37
  return {
37
38
  dataset: preList.dataset,
38
- rsv: null,
39
- k: null,
40
- d: null,
41
- "k-d": null,
39
+ rsv: 0,
40
+ k: 0,
41
+ d: 0,
42
+ "k-d": 0,
43
+ type: type,
42
44
  };
43
45
  }
44
46
  else {
@@ -62,6 +64,7 @@ var Kd = /** @class */ (function () {
62
64
  k: k,
63
65
  d: d,
64
66
  "k-d": k_d,
67
+ type: type,
65
68
  };
66
69
  }
67
70
  }
@@ -74,7 +77,7 @@ var Kd = /** @class */ (function () {
74
77
  var res = [];
75
78
  for (var i = 0; i < list.length; i++) {
76
79
  if (i < 8)
77
- res[i] = __assign(__assign({}, list[i]), { rsv: null });
80
+ res[i] = __assign(__assign({}, list[i]), { rsv: 0 });
78
81
  else {
79
82
  var low = Math.min.apply(Math, list.slice(i - 8, i + 1).map(function (item) { return item.l; }));
80
83
  var hight = Math.max.apply(Math, list.slice(i - 8, i + 1).map(function (item) { return item.h; }));
@@ -97,7 +100,7 @@ var Kd = /** @class */ (function () {
97
100
  var yesterdayD = 50;
98
101
  for (var i = 0; i < list.length; i++) {
99
102
  if (i < 8)
100
- res[i] = __assign(__assign({}, list[i]), { rsv: null, k: null, d: null, "k-d": null });
103
+ res[i] = __assign(__assign({}, list[i]), { rsv: 0, k: 0, d: 0, "k-d": 0 });
101
104
  else {
102
105
  var low = Math.min.apply(Math, list.slice(i - 8, i + 1).map(function (item) { return item.l; }));
103
106
  var hight = Math.max.apply(Math, list.slice(i - 8, i + 1).map(function (item) { return item.h; }));
@@ -5,7 +5,7 @@ describe("test kd methods", function () {
5
5
  var index = data.length - 1;
6
6
  var kd = new Kd();
7
7
  var realData = kd.getKD(data)[index];
8
- var init = kd.init(data[0]);
8
+ var init = kd.init(data[0], 9);
9
9
  var res = init;
10
10
  for (var i = 1; i <= index; i++) {
11
11
  var item = data[i];