@quantform/core 0.3.215 → 0.3.221

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 (95) hide show
  1. package/dist/adapter/paper/model/paper-model.d.ts +3 -3
  2. package/dist/adapter/paper/model/paper-model.js +22 -8
  3. package/dist/adapter/paper/model/paper-model.js.map +1 -1
  4. package/dist/indicator/atr.d.ts +1 -2
  5. package/dist/indicator/atr.js +4 -1
  6. package/dist/indicator/atr.js.map +1 -1
  7. package/dist/indicator/donchian.d.ts +7 -6
  8. package/dist/indicator/donchian.js +6 -15
  9. package/dist/indicator/donchian.js.map +1 -1
  10. package/dist/indicator/ema.d.ts +1 -10
  11. package/dist/indicator/ema.js +13 -32
  12. package/dist/indicator/ema.js.map +1 -1
  13. package/dist/indicator/ema.spec.js +4 -23
  14. package/dist/indicator/ema.spec.js.map +1 -1
  15. package/dist/indicator/envelope.js +4 -8
  16. package/dist/indicator/envelope.js.map +1 -1
  17. package/dist/indicator/index.d.ts +1 -1
  18. package/dist/indicator/index.js +1 -1
  19. package/dist/indicator/index.js.map +1 -1
  20. package/dist/indicator/macd.js +3 -12
  21. package/dist/indicator/macd.js.map +1 -1
  22. package/dist/indicator/min-max.d.ts +4 -11
  23. package/dist/indicator/min-max.js +12 -29
  24. package/dist/indicator/min-max.js.map +1 -1
  25. package/dist/indicator/rma.d.ts +1 -10
  26. package/dist/indicator/rma.js +13 -32
  27. package/dist/indicator/rma.js.map +1 -1
  28. package/dist/indicator/sma.d.ts +1 -10
  29. package/dist/indicator/sma.js +11 -22
  30. package/dist/indicator/sma.js.map +1 -1
  31. package/dist/indicator/sma.spec.js +1 -1
  32. package/dist/indicator/sma.spec.js.map +1 -1
  33. package/dist/indicator/swma.d.ts +1 -9
  34. package/dist/indicator/swma.js +11 -26
  35. package/dist/indicator/swma.js.map +1 -1
  36. package/dist/indicator/tma.d.ts +1 -2
  37. package/dist/indicator/tma.js +4 -1
  38. package/dist/indicator/tma.js.map +1 -1
  39. package/dist/indicator/tma.spec.js +1 -1
  40. package/dist/indicator/tma.spec.js.map +1 -1
  41. package/dist/indicator/truerange.d.ts +1 -1
  42. package/dist/indicator/truerange.js +3 -1
  43. package/dist/indicator/truerange.js.map +1 -1
  44. package/dist/indicator/truerange.spec.js +2 -2
  45. package/dist/indicator/truerange.spec.js.map +1 -1
  46. package/dist/indicator/window.d.ts +3 -0
  47. package/dist/indicator/window.js +22 -0
  48. package/dist/indicator/window.js.map +1 -0
  49. package/dist/indicator/wma.d.ts +1 -11
  50. package/dist/indicator/wma.js +13 -33
  51. package/dist/indicator/wma.js.map +1 -1
  52. package/dist/indicator/wma.spec.js +1 -1
  53. package/dist/indicator/wma.spec.js.map +1 -1
  54. package/dist/session/session-descriptor.d.ts +0 -1
  55. package/dist/session/session-optimizer.js.map +1 -1
  56. package/dist/session/session.d.ts +5 -5
  57. package/dist/session/session.js +14 -14
  58. package/dist/session/session.js.map +1 -1
  59. package/dist/store/event/store-candle.event.d.ts +2 -0
  60. package/dist/store/event/store-candle.event.js +12 -1
  61. package/dist/store/event/store-candle.event.js.map +1 -1
  62. package/dist/store/store.d.ts +2 -1
  63. package/dist/store/store.js +9 -0
  64. package/dist/store/store.js.map +1 -1
  65. package/dist/tsconfig.tsbuildinfo +1 -1
  66. package/package.json +1 -1
  67. package/src/adapter/paper/model/paper-model.ts +30 -13
  68. package/src/indicator/atr.ts +9 -4
  69. package/src/indicator/donchian.ts +26 -26
  70. package/src/indicator/ema.spec.ts +4 -23
  71. package/src/indicator/ema.ts +15 -42
  72. package/src/indicator/envelope.ts +8 -14
  73. package/src/indicator/index.ts +1 -1
  74. package/src/indicator/macd.ts +8 -19
  75. package/src/indicator/min-max.ts +15 -37
  76. package/src/indicator/rma.ts +15 -43
  77. package/src/indicator/sma.spec.ts +1 -1
  78. package/src/indicator/sma.ts +13 -29
  79. package/src/indicator/swma.ts +14 -35
  80. package/src/indicator/tma.spec.ts +1 -1
  81. package/src/indicator/tma.ts +9 -4
  82. package/src/indicator/truerange.spec.ts +2 -2
  83. package/src/indicator/truerange.ts +15 -10
  84. package/src/indicator/window.ts +27 -0
  85. package/src/indicator/wma.spec.ts +1 -1
  86. package/src/indicator/wma.ts +16 -44
  87. package/src/session/session-descriptor.ts +0 -2
  88. package/src/session/session-optimizer.ts +1 -1
  89. package/src/session/session.ts +20 -15
  90. package/src/store/event/store-candle.event.ts +15 -0
  91. package/src/store/store.ts +10 -0
  92. package/dist/indicator/window-indicator.d.ts +0 -10
  93. package/dist/indicator/window-indicator.js +0 -28
  94. package/dist/indicator/window-indicator.js.map +0 -1
  95. package/src/indicator/window-indicator.ts +0 -35
@@ -8,7 +8,7 @@ describe('sma tests', () => {
8
8
  (0, rxjs_1.from)([18136.17, 18092.15, 18082.39, 18065.4, 18046.47])
9
9
  .pipe((0, sma_1.sma)(5, it => it))
10
10
  .subscribe({
11
- next: it => (value = it.value),
11
+ next: ([, it]) => (value = it),
12
12
  complete: () => {
13
13
  expect(parseFloat(value.toFixed(2))).toBe(18084.52);
14
14
  done();
@@ -1 +1 @@
1
- {"version":3,"file":"sma.spec.js","sourceRoot":"","sources":["../../src/indicator/sma.spec.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,+BAA4B;AAE5B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,EAAE;QAC1C,IAAI,KAAK,CAAC;QAGV,IAAA,WAAI,EAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;aACpD,IAAI,CAAC,IAAA,SAAG,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACtB,SAAS,CAAC;YACT,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;YAC9B,QAAQ,EAAE,GAAG,EAAE;gBACb,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpD,IAAI,EAAE,CAAC;YACT,CAAC;SACF,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"sma.spec.js","sourceRoot":"","sources":["../../src/indicator/sma.spec.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,+BAA4B;AAE5B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,EAAE;QAC1C,IAAI,KAAK,CAAC;QAGV,IAAA,WAAI,EAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;aACpD,IAAI,CAAC,IAAA,SAAG,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACtB,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC9B,QAAQ,EAAE,GAAG,EAAE;gBACb,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpD,IAAI,EAAE,CAAC;YACT,CAAC;SACF,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,10 +1,2 @@
1
1
  import { Observable } from 'rxjs';
2
- import { RingBuffer } from './ring-buffer';
3
- import { WindowIndicator } from './window-indicator';
4
- export declare class SWMA extends WindowIndicator<number> {
5
- private _value;
6
- get value(): number;
7
- constructor();
8
- calculate(added: number, removed: number, buffer: RingBuffer<number>): void;
9
- }
10
- export declare function swma<T>(fn: (it: T) => number): (source: Observable<T>) => Observable<SWMA>;
2
+ export declare function swma<T>(fn: (it: T) => number): (source: Observable<T>) => Observable<[T, number]>;
@@ -1,34 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.swma = exports.SWMA = void 0;
3
+ exports.swma = void 0;
4
4
  const operators_1 = require("rxjs/operators");
5
- const window_indicator_1 = require("./window-indicator");
6
- class SWMA extends window_indicator_1.WindowIndicator {
7
- constructor() {
8
- super(4);
9
- }
10
- get value() {
11
- return this._value;
12
- }
13
- calculate(added, removed, buffer) {
14
- if (!this.isCompleted) {
15
- return;
16
- }
17
- const x3 = buffer.at(this.capacity - (3 + 1));
18
- const x2 = buffer.at(this.capacity - (2 + 1));
19
- const x1 = buffer.at(this.capacity - (1 + 1));
20
- const x0 = buffer.at(this.capacity - (0 + 1));
21
- this._value = (x3 * 1) / 6 + (x2 * 2) / 6 + (x1 * 2) / 6 + (x0 * 1) / 6;
22
- }
23
- }
24
- exports.SWMA = SWMA;
5
+ const window_1 = require("./window");
25
6
  function swma(fn) {
26
7
  return function (source) {
27
- const indicator = new SWMA();
28
- return source.pipe((0, operators_1.filter)(it => {
29
- indicator.append(fn(it));
30
- return indicator.isCompleted;
31
- }), (0, operators_1.map)(_ => indicator), (0, operators_1.share)());
8
+ return source.pipe((0, window_1.window)(4, fn), (0, operators_1.filter)(([, buffer]) => buffer.isFull), (0, operators_1.map)(([it, buffer]) => {
9
+ const x3 = buffer.at(buffer.capacity - (3 + 1));
10
+ const x2 = buffer.at(buffer.capacity - (2 + 1));
11
+ const x1 = buffer.at(buffer.capacity - (1 + 1));
12
+ const x0 = buffer.at(buffer.capacity - (0 + 1));
13
+ const value = (x3 * 1) / 6 + (x2 * 2) / 6 + (x1 * 2) / 6 + (x0 * 1) / 6;
14
+ const tuple = [it, value];
15
+ return tuple;
16
+ }), (0, operators_1.share)());
32
17
  };
33
18
  }
34
19
  exports.swma = swma;
@@ -1 +1 @@
1
- {"version":3,"file":"swma.js","sourceRoot":"","sources":["../../src/indicator/swma.ts"],"names":[],"mappings":";;;AACA,8CAAoD;AAEpD,yDAAqD;AAErD,MAAa,IAAK,SAAQ,kCAAuB;IAO/C;QACE,KAAK,CAAC,CAAC,CAAC,CAAC;IACX,CAAC;IAND,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAMD,SAAS,CAAC,KAAa,EAAE,OAAe,EAAE,MAA0B;QAClE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO;SACR;QAED,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1E,CAAC;CACF;AAvBD,oBAuBC;AAED,SAAgB,IAAI,CAAI,EAAqB;IAC3C,OAAO,UAAS,MAAqB;QACnC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE7B,OAAO,MAAM,CAAC,IAAI,CAChB,IAAA,kBAAM,EAAC,EAAE,CAAC,EAAE;YACV,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEzB,OAAO,SAAS,CAAC,WAAW,CAAC;QAC/B,CAAC,CAAC,EACF,IAAA,eAAG,EAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EACnB,IAAA,iBAAK,GAAE,CACR,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAdD,oBAcC"}
1
+ {"version":3,"file":"swma.js","sourceRoot":"","sources":["../../src/indicator/swma.ts"],"names":[],"mappings":";;;AACA,8CAAoD;AACpD,qCAAkC;AAElC,SAAgB,IAAI,CAAI,EAAqB;IAC3C,OAAO,UAAU,MAAqB;QACpC,OAAO,MAAM,CAAC,IAAI,CAChB,IAAA,eAAM,EAAC,CAAC,EAAE,EAAE,CAAC,EACb,IAAA,kBAAM,EAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EACrC,IAAA,eAAG,EAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;YACnB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAEhD,MAAM,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAExE,MAAM,KAAK,GAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,EACF,IAAA,iBAAK,GAAE,CACR,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAnBD,oBAmBC"}
@@ -1,3 +1,2 @@
1
1
  import { Observable } from 'rxjs';
2
- import { SWMA } from './swma';
3
- export declare function tma<T>(length: number, fn: (it: T) => number): (source: Observable<T>) => Observable<SWMA>;
2
+ export declare function tma<T>(length: number, fn: (it: T) => number): (source: Observable<T>) => Observable<[T, number]>;
@@ -6,7 +6,10 @@ const swma_1 = require("./swma");
6
6
  const wma_1 = require("./wma");
7
7
  function tma(length, fn) {
8
8
  return function (source) {
9
- return source.pipe((0, wma_1.wma)(length, fn), (0, swma_1.swma)(it => it.value), (0, operators_1.share)());
9
+ return source.pipe((0, wma_1.wma)(length, fn), (0, swma_1.swma)(([, it]) => it), (0, operators_1.map)(([[it], swma]) => {
10
+ const tuple = [it, swma];
11
+ return tuple;
12
+ }), (0, operators_1.share)());
10
13
  };
11
14
  }
12
15
  exports.tma = tma;
@@ -1 +1 @@
1
- {"version":3,"file":"tma.js","sourceRoot":"","sources":["../../src/indicator/tma.ts"],"names":[],"mappings":";;;AACA,8CAAuC;AACvC,iCAAoC;AACpC,+BAA4B;AAE5B,SAAgB,GAAG,CAAI,MAAc,EAAE,EAAqB;IAC1D,OAAO,UAAS,MAAqB;QACnC,OAAO,MAAM,CAAC,IAAI,CAChB,IAAA,SAAG,EAAC,MAAM,EAAE,EAAE,CAAC,EACf,IAAA,WAAI,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EACpB,IAAA,iBAAK,GAAE,CACR,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AARD,kBAQC"}
1
+ {"version":3,"file":"tma.js","sourceRoot":"","sources":["../../src/indicator/tma.ts"],"names":[],"mappings":";;;AACA,8CAA4C;AAC5C,iCAA8B;AAC9B,+BAA4B;AAE5B,SAAgB,GAAG,CAAI,MAAc,EAAE,EAAqB;IAC1D,OAAO,UAAU,MAAqB;QACpC,OAAO,MAAM,CAAC,IAAI,CAChB,IAAA,SAAG,EAAC,MAAM,EAAE,EAAE,CAAC,EACf,IAAA,WAAI,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EACpB,IAAA,eAAG,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE;YACnB,MAAM,KAAK,GAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAEtC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,EACF,IAAA,iBAAK,GAAE,CACR,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAbD,kBAaC"}
@@ -8,7 +8,7 @@ describe('tma tests', () => {
8
8
  (0, rxjs_1.from)([18086.36, 18116.15, 18127.81, 18136.17, 18092.15, 18082.39, 18065.4, 18046.47])
9
9
  .pipe((0, tma_1.tma)(4, it => it))
10
10
  .subscribe({
11
- next: it => (value = it.value),
11
+ next: ([, it]) => (value = it),
12
12
  complete: () => {
13
13
  expect(parseFloat(value.toFixed(2))).toBe(18090.98);
14
14
  done();
@@ -1 +1 @@
1
- {"version":3,"file":"tma.spec.js","sourceRoot":"","sources":["../../src/indicator/tma.spec.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,+BAA4B;AAE5B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,EAAE;QAC1C,IAAI,KAAK,CAAC;QAGV,IAAA,WAAI,EAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;aAClF,IAAI,CAAC,IAAA,SAAG,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACtB,SAAS,CAAC;YACT,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;YAC9B,QAAQ,EAAE,GAAG,EAAE;gBACb,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpD,IAAI,EAAE,CAAC;YACT,CAAC;SACF,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"tma.spec.js","sourceRoot":"","sources":["../../src/indicator/tma.spec.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,+BAA4B;AAE5B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,EAAE;QAC1C,IAAI,KAAK,CAAC;QAGV,IAAA,WAAI,EAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;aAClF,IAAI,CAAC,IAAA,SAAG,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACtB,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC9B,QAAQ,EAAE,GAAG,EAAE;gBACb,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpD,IAAI,EAAE,CAAC;YACT,CAAC;SACF,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { Candle } from '../domain';
3
- export declare function truerange<T>(fn: (it: T) => Candle): (source: Observable<T>) => Observable<number>;
3
+ export declare function truerange<T>(fn: (it: T) => Candle): (source: Observable<T>) => Observable<[T, number]>;
@@ -7,9 +7,11 @@ function truerange(fn) {
7
7
  let previous;
8
8
  return source.pipe((0, operators_1.map)(it => {
9
9
  const current = fn(it);
10
- return previous == null
10
+ const value = previous == null
11
11
  ? current.high - current.low
12
12
  : Math.max(Math.max(current.high - current.low, Math.abs(current.high - previous.close)), Math.abs(current.low - previous.close));
13
+ const tuple = [it, value];
14
+ return tuple;
13
15
  }), (0, operators_1.share)());
14
16
  };
15
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"truerange.js","sourceRoot":"","sources":["../../src/indicator/truerange.ts"],"names":[],"mappings":";;;AACA,8CAA4C;AAG5C,SAAgB,SAAS,CAAI,EAAqB;IAChD,OAAO,UAAS,MAAqB;QACnC,IAAI,QAAQ,CAAC;QAEb,OAAO,MAAM,CAAC,IAAI,CAChB,IAAA,eAAG,EAAC,EAAE,CAAC,EAAE;YACP,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAEvB,OAAO,QAAQ,IAAI,IAAI;gBACrB,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG;gBAC5B,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,GAAG,CACN,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,EAC1B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CACxC,EACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CACvC,CAAC;QACR,CAAC,CAAC,EACF,IAAA,iBAAK,GAAE,CACR,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AArBD,8BAqBC"}
1
+ {"version":3,"file":"truerange.js","sourceRoot":"","sources":["../../src/indicator/truerange.ts"],"names":[],"mappings":";;;AACA,8CAA4C;AAG5C,SAAgB,SAAS,CAAI,EAAqB;IAChD,OAAO,UAAU,MAAqB;QACpC,IAAI,QAAQ,CAAC;QAEb,OAAO,MAAM,CAAC,IAAI,CAChB,IAAA,eAAG,EAAC,EAAE,CAAC,EAAE;YACP,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAEvB,MAAM,KAAK,GACT,QAAQ,IAAI,IAAI;gBACd,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG;gBAC5B,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,GAAG,CACN,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,EAC1B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CACxC,EACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CACvC,CAAC;YAER,MAAM,KAAK,GAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAEvC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,EACF,IAAA,iBAAK,GAAE,CACR,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AA1BD,8BA0BC"}
@@ -15,9 +15,9 @@ describe('truerange atr tests', () => {
15
15
  new domain_1.Candle((0, common_1.now)(), 18082.39, 18087.04, 18041.0, 18065.4),
16
16
  new domain_1.Candle((0, common_1.now)(), 18066.11, 18079.15, 18041.0, 18046.47)
17
17
  ])
18
- .pipe((0, truerange_1.truerange)(it => it), (0, sma_1.sma)(4, it => it))
18
+ .pipe((0, truerange_1.truerange)(it => it), (0, sma_1.sma)(4, ([, it]) => it))
19
19
  .subscribe({
20
- next: it => (value = it.value),
20
+ next: ([, it]) => (value = it),
21
21
  complete: () => {
22
22
  expect(parseFloat(value.toFixed(2))).toBe(42.41);
23
23
  done();
@@ -1 +1 @@
1
- {"version":3,"file":"truerange.spec.js","sourceRoot":"","sources":["../../src/indicator/truerange.spec.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,sCAAmC;AACnC,2CAAwC;AACxC,+BAA4B;AAC5B,sCAAgC;AAEhC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,EAAE;QAC1C,IAAI,KAAK,CAAC;QAGV,IAAA,WAAI,EAAC;YACH,IAAI,eAAM,CAAC,IAAA,YAAG,GAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;YACxD,IAAI,eAAM,CAAC,IAAA,YAAG,GAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;YACzD,IAAI,eAAM,CAAC,IAAA,YAAG,GAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;YACxD,IAAI,eAAM,CAAC,IAAA,YAAG,GAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;YACvD,IAAI,eAAM,CAAC,IAAA,YAAG,GAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;SACzD,CAAC;aACC,IAAI,CACH,IAAA,qBAAS,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACnB,IAAA,SAAG,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CACjB;aACA,SAAS,CAAC;YACT,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;YAC9B,QAAQ,EAAE,GAAG,EAAE;gBACb,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjD,IAAI,EAAE,CAAC;YACT,CAAC;SACF,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"truerange.spec.js","sourceRoot":"","sources":["../../src/indicator/truerange.spec.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,sCAAmC;AACnC,2CAAwC;AACxC,+BAA4B;AAC5B,sCAAgC;AAEhC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,EAAE;QAC1C,IAAI,KAAK,CAAC;QAGV,IAAA,WAAI,EAAC;YACH,IAAI,eAAM,CAAC,IAAA,YAAG,GAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;YACxD,IAAI,eAAM,CAAC,IAAA,YAAG,GAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;YACzD,IAAI,eAAM,CAAC,IAAA,YAAG,GAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;YACxD,IAAI,eAAM,CAAC,IAAA,YAAG,GAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;YACvD,IAAI,eAAM,CAAC,IAAA,YAAG,GAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;SACzD,CAAC;aACC,IAAI,CACH,IAAA,qBAAS,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACnB,IAAA,SAAG,EAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CACvB;aACA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC9B,QAAQ,EAAE,GAAG,EAAE;gBACb,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjD,IAAI,EAAE,CAAC;YACT,CAAC;SACF,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Observable } from 'rxjs';
2
+ import { RingBuffer } from './ring-buffer';
3
+ export declare function window<T, Y>(length: number, fn: (value: T) => Y): (source: Observable<T>) => Observable<[T, RingBuffer<Y>, Y, Y]>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.window = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const ring_buffer_1 = require("./ring-buffer");
6
+ function window(length, fn) {
7
+ return function (source) {
8
+ const buffer = new ring_buffer_1.RingBuffer(length);
9
+ return source.pipe((0, rxjs_1.map)(it => {
10
+ let removed = null;
11
+ if (buffer.isFull) {
12
+ removed = buffer.peek();
13
+ }
14
+ const value = fn(it);
15
+ buffer.enqueue(value);
16
+ const tuple = [it, buffer, value, removed];
17
+ return tuple;
18
+ }), (0, rxjs_1.share)());
19
+ };
20
+ }
21
+ exports.window = window;
22
+ //# sourceMappingURL=window.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window.js","sourceRoot":"","sources":["../../src/indicator/window.ts"],"names":[],"mappings":";;;AAAA,+BAA8C;AAC9C,+CAA2C;AAE3C,SAAgB,MAAM,CAAO,MAAc,EAAE,EAAmB;IAC9D,OAAO,UAAU,MAAqB;QACpC,MAAM,MAAM,GAAG,IAAI,wBAAU,CAAI,MAAM,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC,IAAI,CAChB,IAAA,UAAG,EAAC,EAAE,CAAC,EAAE;YACP,IAAI,OAAO,GAAG,IAAI,CAAC;YAEnB,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;aACzB;YAED,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAErB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEtB,MAAM,KAAK,GAA6B,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAErE,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,EACF,IAAA,YAAK,GAAE,CACR,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAvBD,wBAuBC"}
@@ -1,12 +1,2 @@
1
1
  import { Observable } from 'rxjs';
2
- import { RingBuffer } from './ring-buffer';
3
- import { WindowIndicator } from './window-indicator';
4
- export declare class WMA extends WindowIndicator<number> {
5
- private _k;
6
- private _sma;
7
- private _value;
8
- get value(): number;
9
- constructor(capacity: number);
10
- calculate(added: number, removed: number, buffer: RingBuffer<number>): void;
11
- }
12
- export declare function wma<T>(length: number, fn: (it: T) => number): (source: Observable<T>) => Observable<WMA>;
2
+ export declare function wma<T>(length: number, fn: (it: T) => number): (source: Observable<T>) => Observable<[T, number]>;
@@ -1,41 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.wma = exports.WMA = void 0;
3
+ exports.wma = void 0;
4
4
  const operators_1 = require("rxjs/operators");
5
- const sma_1 = require("./sma");
6
- const window_indicator_1 = require("./window-indicator");
7
- class WMA extends window_indicator_1.WindowIndicator {
8
- constructor(capacity) {
9
- super(capacity);
10
- this._k = 0;
11
- this._k = 1.0 / capacity;
12
- this._sma = new sma_1.SMA(capacity);
13
- }
14
- get value() {
15
- return this._value;
16
- }
17
- calculate(added, removed, buffer) {
18
- if (!this.isCompleted) {
19
- return;
20
- }
21
- let norm = 0.0;
22
- let sum = 0.0;
23
- for (let i = 0; i < this.capacity; i++) {
24
- const weight = (this.capacity - i) * this.capacity;
25
- norm = norm + weight;
26
- sum = sum + buffer.at(this.capacity - (i + 1)) * weight;
27
- }
28
- this._value = sum / norm;
29
- }
30
- }
31
- exports.WMA = WMA;
5
+ const window_1 = require("./window");
32
6
  function wma(length, fn) {
33
7
  return function (source) {
34
- const indicator = new WMA(length);
35
- return source.pipe((0, operators_1.filter)(it => {
36
- indicator.append(fn(it));
37
- return indicator.isCompleted;
38
- }), (0, operators_1.map)(_ => indicator), (0, operators_1.share)());
8
+ return source.pipe((0, window_1.window)(length, fn), (0, operators_1.filter)(([, buffer]) => buffer.isFull), (0, operators_1.map)(([it, buffer]) => {
9
+ let norm = 0.0;
10
+ let sum = 0.0;
11
+ for (let i = 0; i < buffer.capacity; i++) {
12
+ const weight = (buffer.capacity - i) * buffer.capacity;
13
+ norm = norm + weight;
14
+ sum = sum + buffer.at(buffer.capacity - (i + 1)) * weight;
15
+ }
16
+ const tuple = [it, sum / norm];
17
+ return tuple;
18
+ }), (0, operators_1.share)());
39
19
  };
40
20
  }
41
21
  exports.wma = wma;
@@ -1 +1 @@
1
- {"version":3,"file":"wma.js","sourceRoot":"","sources":["../../src/indicator/wma.ts"],"names":[],"mappings":";;;AACA,8CAAoD;AAEpD,+BAA4B;AAC5B,yDAAqD;AAErD,MAAa,GAAI,SAAQ,kCAAuB;IAS9C,YAAY,QAAgB;QAC1B,KAAK,CAAC,QAAQ,CAAC,CAAC;QATV,OAAE,GAAG,CAAC,CAAC;QAWb,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,SAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IATD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IASD,SAAS,CAAC,KAAa,EAAE,OAAe,EAAE,MAA0B;QAClE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO;SACR;QAED,IAAI,IAAI,GAAG,GAAG,CAAC;QACf,IAAI,GAAG,GAAG,GAAG,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;YACnD,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;YAErB,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;SACzD;QAED,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;IAC3B,CAAC;CACF;AAjCD,kBAiCC;AAED,SAAgB,GAAG,CAAI,MAAc,EAAE,EAAqB;IAC1D,OAAO,UAAS,MAAqB;QACnC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAElC,OAAO,MAAM,CAAC,IAAI,CAChB,IAAA,kBAAM,EAAC,EAAE,CAAC,EAAE;YACV,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEzB,OAAO,SAAS,CAAC,WAAW,CAAC;QAC/B,CAAC,CAAC,EACF,IAAA,eAAG,EAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EACnB,IAAA,iBAAK,GAAE,CACR,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAdD,kBAcC"}
1
+ {"version":3,"file":"wma.js","sourceRoot":"","sources":["../../src/indicator/wma.ts"],"names":[],"mappings":";;;AACA,8CAAoD;AACpD,qCAAkC;AAElC,SAAgB,GAAG,CAAI,MAAc,EAAE,EAAqB;IAC1D,OAAO,UAAU,MAAqB;QACpC,OAAO,MAAM,CAAC,IAAI,CAChB,IAAA,eAAM,EAAC,MAAM,EAAE,EAAE,CAAC,EAClB,IAAA,kBAAM,EAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EACrC,IAAA,eAAG,EAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;YACnB,IAAI,IAAI,GAAG,GAAG,CAAC;YACf,IAAI,GAAG,GAAG,GAAG,CAAC;YAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAEvD,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;gBACrB,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;aAC3D;YAED,MAAM,KAAK,GAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;YAE5C,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,EACF,IAAA,iBAAK,GAAE,CACR,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAvBD,kBAuBC"}
@@ -8,7 +8,7 @@ describe('wma tests', () => {
8
8
  (0, rxjs_1.from)([18136.17, 18092.15, 18082.39, 18065.4, 18046.47])
9
9
  .pipe((0, wma_1.wma)(5, it => it))
10
10
  .subscribe({
11
- next: it => (value = it.value),
11
+ next: ([, it]) => (value = it),
12
12
  complete: () => {
13
13
  expect(parseFloat(value.toFixed(2))).toBe(18070.77);
14
14
  done();
@@ -1 +1 @@
1
- {"version":3,"file":"wma.spec.js","sourceRoot":"","sources":["../../src/indicator/wma.spec.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,+BAA4B;AAE5B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,EAAE;QAC1C,IAAI,KAAK,CAAC;QAEV,IAAA,WAAI,EAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;aACpD,IAAI,CAAC,IAAA,SAAG,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACtB,SAAS,CAAC;YACT,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;YAC9B,QAAQ,EAAE,GAAG,EAAE;gBACb,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpD,IAAI,EAAE,CAAC;YACT,CAAC;SACF,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"wma.spec.js","sourceRoot":"","sources":["../../src/indicator/wma.spec.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,+BAA4B;AAE5B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,EAAE;QAC1C,IAAI,KAAK,CAAC;QAEV,IAAA,WAAI,EAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;aACpD,IAAI,CAAC,IAAA,SAAG,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACtB,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC9B,QAAQ,EAAE,GAAG,EAAE;gBACb,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpD,IAAI,EAAE,CAAC;YACT,CAAC;SACF,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -9,6 +9,5 @@ export interface SessionDescriptor {
9
9
  adapter: Adapter[];
10
10
  feed?: Feed;
11
11
  measurement?: Measurement;
12
- template?: string;
13
12
  behaviour?: Behaviour | Behaviour[] | ((session: Session) => Observable<any>);
14
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-optimizer.js","sourceRoot":"","sources":["../../src/session/session-optimizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-optimizer.js","sourceRoot":"","sources":["../../src/session/session-optimizer.ts"],"names":[],"mappings":";;;AAAA,SAAgB,GAAG,CAAC,GAAW,EAAE,SAAiB;IAChD,OAAO,UAAU,MAAW,EAAE,WAAmB;QAC/C,IAAI,kBAAkB,CAAC;QAEvB,IAAI,SAAS,EAAE;YACb,yBAAyB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;SACnD;QAED,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;YACzC,GAAG,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,mCAAI,kBAAkB,CAAA,EAAA;YAC9D,GAAG,EAAE,CAAC,QAAa,EAAE,EAAE;gBACrB,IAAI,CAAC,kBAAkB,EAAE;oBACvB,kBAAkB,GAAG,QAAQ,CAAC;oBAC9B,OAAO;iBACR;gBAED,IAAI,kBAAkB,IAAI,QAAQ,EAAE;oBAClC,OAAO;iBACR;gBAED,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAxBD,kBAwBC;AAED,MAAa,gBAAgB;IAG3B,MAAM,CAAC,OAAO,CAAC,GAAW;QACxB,OAAO,GAAG;aACP,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CACL,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EACzE,IAAI,CAAC,MAAM,CACZ,CAAC;IACN,CAAC;;AAVH,4CAWC;AAVQ,uBAAM,GAAQ,EAAE,CAAC;AAY1B,MAAa,yBAAyB;IAGpC,MAAM,KAAK,KAAK;QACd,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CACtC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,EACjD,CAAC,CACF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAO;QACZ,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAC/E,CAAC,EAAE,CAAC,CACL,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,MAAM,MAAM,GAAG,EAAE,CAAC;YAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAE9B,IAAI,EAAE,GAAG,MAAM,CAAC;gBAEhB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACvB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;oBAE3B,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;iBAChC;gBAED,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;aACzB;YAED,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACrB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;;AAxCH,8DAyCC;AAxCQ,gCAAM,GAA0B,EAAE,CAAC"}
@@ -16,12 +16,12 @@ export declare class Session {
16
16
  constructor(store: Store, aggregate: AdapterAggregate, descriptor?: SessionDescriptor);
17
17
  awake(): Promise<void>;
18
18
  dispose(): Promise<void>;
19
- save(...measure: Measure[]): void;
20
- query(params: {
21
- type: string;
22
- timestamp?: number;
23
- }): Observable<Measure>;
24
19
  statement(output: Record<string, any>): void;
20
+ useMeasure<T extends Measure>(params: {
21
+ key: string;
22
+ timestamp?: number;
23
+ }, defaultValue?: T): [Observable<T>, (value: T) => void];
24
+ useOptimizer(path: string): any;
25
25
  subscribe(instrument: Array<InstrumentSelector>): Promise<void>;
26
26
  open(...orders: Order[]): Promise<void>;
27
27
  cancel(order: Order): Promise<void>;
@@ -46,28 +46,28 @@ class Session {
46
46
  await this.aggregate.dispose();
47
47
  await this.worker.wait();
48
48
  }
49
- save(...measure) {
49
+ statement(output) {
50
50
  var _a;
51
- if (!((_a = this.descriptor) === null || _a === void 0 ? void 0 : _a.measurement)) {
51
+ if (!((_a = this.behaviour) === null || _a === void 0 ? void 0 : _a.statement)) {
52
52
  return;
53
53
  }
54
- this.worker.enqueue(() => this.descriptor.measurement.save(this.descriptor.id, measure));
54
+ this.behaviour.statement(output);
55
55
  }
56
- query(params) {
56
+ useMeasure(params, defaultValue = undefined) {
57
57
  var _a;
58
- return (0, rxjs_1.from)(this.descriptor.measurement.query(this.descriptor.id, {
59
- type: params.type,
58
+ const query$ = (0, rxjs_1.from)(this.descriptor.measurement.query(this.descriptor.id, {
59
+ type: params.key,
60
60
  timestamp: (_a = params.timestamp) !== null && _a !== void 0 ? _a : this.store.snapshot.timestamp,
61
61
  limit: 1,
62
62
  direction: 'BACKWARD'
63
- })).pipe((0, operators_1.map)(it => it[0]));
64
- }
65
- statement(output) {
66
- var _a;
67
- if (!((_a = this.behaviour) === null || _a === void 0 ? void 0 : _a.statement)) {
68
- return;
69
- }
70
- this.behaviour.statement(output);
63
+ })).pipe((0, operators_1.map)(it => (it.length ? it[0] : defaultValue)));
64
+ const setter = (value) => {
65
+ this.worker.enqueue(() => this.descriptor.measurement.save(this.descriptor.id, [value]));
66
+ };
67
+ return [query$, setter];
68
+ }
69
+ useOptimizer(path) {
70
+ return 0;
71
71
  }
72
72
  async subscribe(instrument) {
73
73
  const grouped = instrument
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session/session.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { timestamp } from '../../common/datetime';
2
2
  import { InstrumentSelector } from '../../domain';
3
+ import { State } from '../store.state';
3
4
  import { StoreEvent } from './store.event';
4
5
  export declare class CandleEvent implements StoreEvent {
5
6
  readonly instrument: InstrumentSelector;
@@ -13,3 +14,4 @@ export declare class CandleEvent implements StoreEvent {
13
14
  type: string;
14
15
  constructor(instrument: InstrumentSelector, timeframe: number, open: number, high: number, low: number, close: number, volume: number, timestamp: timestamp);
15
16
  }
17
+ export declare function CandleEventHandler(event: CandleEvent, state: State): import("../../domain").Trade;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CandleEvent = void 0;
3
+ exports.CandleEventHandler = exports.CandleEvent = void 0;
4
+ const store_trade_event_1 = require("./store-trade.event");
4
5
  class CandleEvent {
5
6
  constructor(instrument, timeframe, open, high, low, close, volume, timestamp) {
6
7
  this.instrument = instrument;
@@ -15,4 +16,14 @@ class CandleEvent {
15
16
  }
16
17
  }
17
18
  exports.CandleEvent = CandleEvent;
19
+ function CandleEventHandler(event, state) {
20
+ return (0, store_trade_event_1.TradePatchEventHandler)({
21
+ type: 'trade-patch',
22
+ instrument: event.instrument,
23
+ quantity: event.volume,
24
+ rate: event.close,
25
+ timestamp: event.timestamp
26
+ }, state);
27
+ }
28
+ exports.CandleEventHandler = CandleEventHandler;
18
29
  //# sourceMappingURL=store-candle.event.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store-candle.event.js","sourceRoot":"","sources":["../../../src/store/event/store-candle.event.ts"],"names":[],"mappings":";;;AAIA,MAAa,WAAW;IAGtB,YACW,UAA8B,EAC9B,SAAiB,EACjB,IAAY,EACZ,IAAY,EACZ,GAAW,EACX,KAAa,EACb,MAAc,EACd,SAAoB;QAPpB,eAAU,GAAV,UAAU,CAAoB;QAC9B,cAAS,GAAT,SAAS,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAQ;QACZ,QAAG,GAAH,GAAG,CAAQ;QACX,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAW;QAV/B,SAAI,GAAG,QAAQ,CAAC;IAWb,CAAC;CACL;AAbD,kCAaC"}
1
+ {"version":3,"file":"store-candle.event.js","sourceRoot":"","sources":["../../../src/store/event/store-candle.event.ts"],"names":[],"mappings":";;;AAAA,2DAA6D;AAM7D,MAAa,WAAW;IAGtB,YACW,UAA8B,EAC9B,SAAiB,EACjB,IAAY,EACZ,IAAY,EACZ,GAAW,EACX,KAAa,EACb,MAAc,EACd,SAAoB;QAPpB,eAAU,GAAV,UAAU,CAAoB;QAC9B,cAAS,GAAT,SAAS,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAQ;QACZ,QAAG,GAAH,GAAG,CAAQ;QACX,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAW;QAV/B,SAAI,GAAG,QAAQ,CAAC;IAWb,CAAC;CACL;AAbD,kCAaC;AAED,SAAgB,kBAAkB,CAAC,KAAkB,EAAE,KAAY;IACjE,OAAO,IAAA,0CAAsB,EAC3B;QACE,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,KAAK,CAAC,MAAM;QACtB,IAAI,EAAE,KAAK,CAAC,KAAK;QACjB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,EACD,KAAK,CACN,CAAC;AACJ,CAAC;AAXD,gDAWC"}
@@ -4,7 +4,7 @@ import { Component } from '../domain';
4
4
  import { StoreEvent } from './event/store.event';
5
5
  import { Topic } from '../common/topic';
6
6
  import { TradePatchEvent } from './event/store-trade.event';
7
- import { BalanceFreezEvent, BalancePatchEvent, BalanceTransactEvent, BalanceUnfreezEvent, InstrumentPatchEvent, InstrumentSubscriptionEvent, OrderbookPatchEvent, OrderCanceledEvent, OrderCancelFailedEvent, OrderCancelingEvent, OrderFilledEvent, OrderLoadEvent, OrderNewEvent, OrderPendingEvent, OrderRejectedEvent, PositionLoadEvent, PositionPatchEvent } from './event';
7
+ import { BalanceFreezEvent, BalancePatchEvent, BalanceTransactEvent, BalanceUnfreezEvent, CandleEvent, InstrumentPatchEvent, InstrumentSubscriptionEvent, OrderbookPatchEvent, OrderCanceledEvent, OrderCancelFailedEvent, OrderCancelingEvent, OrderFilledEvent, OrderLoadEvent, OrderNewEvent, OrderPendingEvent, OrderRejectedEvent, PositionLoadEvent, PositionPatchEvent } from './event';
8
8
  export declare class Store extends Topic<StoreEvent, any> {
9
9
  private readonly changes;
10
10
  private readonly state;
@@ -31,4 +31,5 @@ export declare class Store extends Topic<StoreEvent, any> {
31
31
  onPositionLoad(event: PositionLoadEvent): import("../domain").Position;
32
32
  onPositionPatch(event: PositionPatchEvent): (import("../domain").Position | import("../domain").Balance)[];
33
33
  onTradePatch(event: TradePatchEvent): import("../domain").Trade;
34
+ onCandle(event: CandleEvent): import("../domain").Trade;
34
35
  }
@@ -102,6 +102,9 @@ class Store extends topic_1.Topic {
102
102
  onTradePatch(event) {
103
103
  return (0, store_trade_event_1.TradePatchEventHandler)(event, this.snapshot);
104
104
  }
105
+ onCandle(event) {
106
+ return (0, event_1.CandleEventHandler)(event, this.snapshot);
107
+ }
105
108
  }
106
109
  __decorate([
107
110
  (0, topic_1.handler)(event_1.InstrumentPatchEvent),
@@ -211,5 +214,11 @@ __decorate([
211
214
  __metadata("design:paramtypes", [store_trade_event_1.TradePatchEvent]),
212
215
  __metadata("design:returntype", void 0)
213
216
  ], Store.prototype, "onTradePatch", null);
217
+ __decorate([
218
+ (0, topic_1.handler)(event_1.CandleEvent),
219
+ __metadata("design:type", Function),
220
+ __metadata("design:paramtypes", [event_1.CandleEvent]),
221
+ __metadata("design:returntype", void 0)
222
+ ], Store.prototype, "onCandle", null);
214
223
  exports.Store = Store;
215
224
  //# sourceMappingURL=store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}