@quantform/core 0.6.4 → 0.6.6

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 (91) hide show
  1. package/dist/adapter/adapter-aggregate.d.ts +2 -2
  2. package/dist/adapter/adapter-aggregate.d.ts.map +1 -1
  3. package/dist/adapter/adapter-aggregate.js +1 -2
  4. package/dist/adapter/adapter.d.ts +2 -2
  5. package/dist/adapter/adapter.d.ts.map +1 -1
  6. package/dist/adapter/backtester/backtester-adapter.d.ts +2 -2
  7. package/dist/adapter/backtester/backtester-adapter.d.ts.map +1 -1
  8. package/dist/adapter/paper/paper-adapter.d.ts +2 -2
  9. package/dist/adapter/paper/paper-adapter.d.ts.map +1 -1
  10. package/dist/cli/dev.js +2 -2
  11. package/dist/cli/pull.js +2 -2
  12. package/dist/cli/run.js +2 -2
  13. package/dist/cli/test.js +2 -2
  14. package/dist/domain/asset.d.ts +0 -4
  15. package/dist/domain/asset.d.ts.map +1 -1
  16. package/dist/domain/asset.js +0 -6
  17. package/dist/domain/balance.d.ts +0 -2
  18. package/dist/domain/balance.d.ts.map +1 -1
  19. package/dist/domain/balance.js +0 -4
  20. package/dist/domain/component.d.ts +0 -1
  21. package/dist/domain/component.d.ts.map +1 -1
  22. package/dist/domain/index.d.ts +2 -2
  23. package/dist/domain/index.d.ts.map +1 -1
  24. package/dist/domain/index.js +2 -2
  25. package/dist/domain/instrument.d.ts +0 -2
  26. package/dist/domain/instrument.d.ts.map +1 -1
  27. package/dist/domain/instrument.js +0 -4
  28. package/dist/domain/ohlc-operator.d.ts +11 -0
  29. package/dist/domain/ohlc-operator.d.ts.map +1 -0
  30. package/dist/domain/{candle-operator.js → ohlc-operator.js} +11 -11
  31. package/dist/domain/{candle.d.ts → ohlc.d.ts} +2 -2
  32. package/dist/domain/ohlc.d.ts.map +1 -0
  33. package/dist/domain/{candle.js → ohlc.js} +3 -3
  34. package/dist/domain/order.d.ts +0 -2
  35. package/dist/domain/order.d.ts.map +1 -1
  36. package/dist/domain/order.js +0 -4
  37. package/dist/domain/orderbook.d.ts +0 -2
  38. package/dist/domain/orderbook.d.ts.map +1 -1
  39. package/dist/domain/orderbook.js +0 -4
  40. package/dist/domain/position.d.ts +0 -2
  41. package/dist/domain/position.d.ts.map +1 -1
  42. package/dist/domain/position.js +0 -4
  43. package/dist/domain/session-builder.d.ts +1 -1
  44. package/dist/domain/session-builder.d.ts.map +1 -1
  45. package/dist/domain/session-builder.js +3 -2
  46. package/dist/domain/session.d.ts +2 -2
  47. package/dist/domain/session.d.ts.map +1 -1
  48. package/dist/domain/trade.d.ts +0 -2
  49. package/dist/domain/trade.d.ts.map +1 -1
  50. package/dist/domain/trade.js +0 -4
  51. package/dist/index.d.ts +24 -1
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +63 -1
  54. package/dist/shared/logger.d.ts +1 -0
  55. package/dist/shared/logger.d.ts.map +1 -1
  56. package/dist/shared/logger.js +7 -4
  57. package/package.json +1 -1
  58. package/src/adapter/adapter-aggregate.ts +4 -6
  59. package/src/adapter/adapter.ts +3 -3
  60. package/src/adapter/backtester/backtester-adapter.ts +2 -2
  61. package/src/adapter/backtester/backtester-cursor.ts +1 -1
  62. package/src/adapter/paper/paper-adapter.ts +2 -2
  63. package/src/cli/dev.ts +2 -2
  64. package/src/cli/pull.ts +2 -2
  65. package/src/cli/run.ts +2 -2
  66. package/src/cli/test.ts +2 -2
  67. package/src/domain/asset.ts +0 -7
  68. package/src/domain/balance.ts +0 -5
  69. package/src/domain/component.ts +0 -1
  70. package/src/domain/index.ts +2 -2
  71. package/src/domain/instrument.ts +0 -5
  72. package/src/domain/ohlc-operator.spec.ts +126 -0
  73. package/src/domain/{candle-operator.ts → ohlc-operator.ts} +15 -15
  74. package/src/domain/{candle.spec.ts → ohlc.spec.ts} +6 -6
  75. package/src/domain/{candle.ts → ohlc.ts} +2 -2
  76. package/src/domain/order.ts +0 -5
  77. package/src/domain/orderbook.ts +0 -5
  78. package/src/domain/position.ts +0 -5
  79. package/src/domain/session-builder.ts +3 -3
  80. package/src/domain/session.ts +3 -3
  81. package/src/domain/trade.ts +0 -5
  82. package/src/index.ts +75 -1
  83. package/src/shared/logger.ts +6 -4
  84. package/dist/domain/candle-operator.d.ts +0 -11
  85. package/dist/domain/candle-operator.d.ts.map +0 -1
  86. package/dist/domain/candle.d.ts.map +0 -1
  87. package/dist/strategy.d.ts +0 -8
  88. package/dist/strategy.d.ts.map +0 -1
  89. package/dist/strategy.js +0 -44
  90. package/src/domain/candle-operator.spec.ts +0 -126
  91. package/src/strategy.ts +0 -47
@@ -1,4 +1,4 @@
1
- import { Candle, InstrumentSelector, Order } from '../domain';
1
+ import { InstrumentSelector, Ohlc, Order } from '../domain';
2
2
  import { timestamp } from '../shared';
3
3
  import { Cache } from '../storage';
4
4
  import { Store } from '../store';
@@ -47,7 +47,7 @@ export declare class AdapterAggregate {
47
47
  *
48
48
  * @returns
49
49
  */
50
- history(instrument: InstrumentSelector, timeframe: number, length: number): Promise<Candle[]>;
50
+ history(instrument: InstrumentSelector, timeframe: number, length: number): Promise<Ohlc[]>;
51
51
  /**
52
52
  * Feeds a storage with historical instrument data.
53
53
  * @returns
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-aggregate.d.ts","sourceRoot":"","sources":["../../src/adapter/adapter-aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAU,SAAS,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAGnF;;;GAGG;AACH,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IANxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;gBAGpC,SAAS,EAAE,cAAc,EAAE,EAC3B,YAAY,EAAE,mBAAmB,EACjC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK;IAG/B;;;;OAIG;IACH,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAUjC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B;;;OAGG;IACG,SAAS,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B/D;;;OAGG;IACG,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvC;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAcnC;;;OAGG;IACH,OAAO,CACL,UAAU,EAAE,kBAAkB,EAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC;IAUpB;;;OAGG;IACH,IAAI,CACF,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC;CASjB"}
1
+ {"version":3,"file":"adapter-aggregate.d.ts","sourceRoot":"","sources":["../../src/adapter/adapter-aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAU,SAAS,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAGnF;;;GAGG;AACH,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IANxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;gBAGpC,SAAS,EAAE,cAAc,EAAE,EAC3B,YAAY,EAAE,mBAAmB,EACjC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK;IAG/B;;;;OAIG;IACH,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAUjC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B;;;OAGG;IACG,SAAS,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB/D;;;OAGG;IACG,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvC;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAcnC;;;OAGG;IACH,OAAO,CACL,UAAU,EAAE,kBAAkB,EAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,EAAE,CAAC;IAUlB;;;OAGG;IACH,IAAI,CACF,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC;CASjB"}
@@ -86,7 +86,6 @@ class AdapterAggregate {
86
86
  return aggregate;
87
87
  }, {});
88
88
  for (const adapterName in grouped) {
89
- shared_1.Logger.debug(adapterName, `subscribing for ${grouped[adapterName].join(', ')}`);
90
89
  try {
91
90
  yield this.get(adapterName).subscribe(grouped[adapterName]);
92
91
  }
@@ -104,7 +103,7 @@ class AdapterAggregate {
104
103
  open(order) {
105
104
  return __awaiter(this, void 0, void 0, function* () {
106
105
  const { adapterName } = order.instrument.base;
107
- shared_1.Logger.debug(adapterName, `opening a new order on ${order.instrument.toString()} as ${order.id}`);
106
+ shared_1.Logger.debug(adapterName, `opening a new order on ${order.instrument.id} as ${order.id}`);
108
107
  try {
109
108
  yield this.get(adapterName).open(order);
110
109
  }
@@ -1,4 +1,4 @@
1
- import { Candle, InstrumentSelector, Order } from '../domain';
1
+ import { Ohlc, InstrumentSelector, Order } from '../domain';
2
2
  import { timestamp } from '../shared';
3
3
  import { Cache, StorageEvent } from '../storage';
4
4
  import { Store } from '../store';
@@ -47,7 +47,7 @@ export declare abstract class Adapter {
47
47
  * Cancels specific order.
48
48
  */
49
49
  abstract cancel(order: Order): Promise<void>;
50
- abstract history(instrument: InstrumentSelector, timeframe: number, length: number): Promise<Candle[]>;
50
+ abstract history(instrument: InstrumentSelector, timeframe: number, length: number): Promise<Ohlc[]>;
51
51
  abstract feed(instrument: InstrumentSelector, from: timestamp, to: timestamp, callback: FeedAsyncCallback): Promise<void>;
52
52
  abstract createPaperEngine(adapter: PaperAdapter): PaperEngine;
53
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAO,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,oBAAY,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,mBAAmB;;CAE/B,CAAC;AAEF,oBAAY,iBAAiB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;AAEnF,oBAAY,cAAc,GAAG,CAC3B,YAAY,EAAE,mBAAmB,EACjC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,KACT,OAAO,CAAC;AAEb;;;GAGG;AACH,8BAAsB,OAAO;IAOf,OAAO,CAAC,QAAQ,CAAC,YAAY;IANzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,SAAS,IAAI,SAAS;gBAIO,YAAY,EAAE,mBAAmB;IAE9D;;OAEG;IACH,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAEpE;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAE5C,QAAQ,CAAC,OAAO,CACd,UAAU,EAAE,kBAAkB,EAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC;IAEpB,QAAQ,CAAC,IAAI,CACX,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAEhB,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW;CAC/D"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAO,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,oBAAY,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,mBAAmB;;CAE/B,CAAC;AAEF,oBAAY,iBAAiB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;AAEnF,oBAAY,cAAc,GAAG,CAC3B,YAAY,EAAE,mBAAmB,EACjC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,KACT,OAAO,CAAC;AAEb;;;GAGG;AACH,8BAAsB,OAAO;IAOf,OAAO,CAAC,QAAQ,CAAC,YAAY;IANzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,SAAS,IAAI,SAAS;gBAIO,YAAY,EAAE,mBAAmB;IAE9D;;OAEG;IACH,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAEpE;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAE5C,QAAQ,CAAC,OAAO,CACd,UAAU,EAAE,kBAAkB,EAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,EAAE,CAAC;IAElB,QAAQ,CAAC,IAAI,CACX,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAEhB,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW;CAC/D"}
@@ -1,4 +1,4 @@
1
- import { Candle, InstrumentSelector, Order } from '../../domain';
1
+ import { InstrumentSelector, Ohlc, Order } from '../../domain';
2
2
  import { timestamp } from '../../shared';
3
3
  import { Store } from '../../store';
4
4
  import { Adapter } from '..';
@@ -23,7 +23,7 @@ export declare class BacktesterAdapter extends Adapter {
23
23
  account(): Promise<void>;
24
24
  open(order: Order): Promise<void>;
25
25
  cancel(order: Order): Promise<void>;
26
- history(instrument: InstrumentSelector, timeframe: number, length: number): Promise<Candle[]>;
26
+ history(instrument: InstrumentSelector, timeframe: number, length: number): Promise<Ohlc[]>;
27
27
  feed(instrument: InstrumentSelector, from: timestamp, to: timestamp, callback: FeedAsyncCallback): Promise<void>;
28
28
  createPaperEngine(adapter: PaperAdapter): PaperEngine;
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"backtester-adapter.d.ts","sourceRoot":"","sources":["../../../src/adapter/backtester/backtester-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAA+B,KAAK,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,SAAS,CAAC;CACf;AAED,wBAAgB,8BAA8B,CAC5C,uBAAuB,EAAE,cAAc,EACvC,QAAQ,EAAE,kBAAkB,GAC3B,cAAc,CAOhB;AAED,qBAAa,iBAAkB,SAAQ,OAAO;IAI1C,QAAQ,CAAC,gBAAgB,EAAE,OAAO;IAClC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB;IACrC,QAAQ,CAAC,KAAK,EAAE,KAAK;IALvB,QAAQ,CAAC,IAAI,SAA8B;gBAGhC,gBAAgB,EAAE,OAAO,EACzB,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,KAAK;IAKjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlB,SAAS,CAAC,WAAW,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7B,OAAO,CACX,UAAU,EAAE,kBAAkB,EAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC;IAUpB,IAAI,CACF,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAIhB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW;CAGtD"}
1
+ {"version":3,"file":"backtester-adapter.d.ts","sourceRoot":"","sources":["../../../src/adapter/backtester/backtester-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAA+B,KAAK,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,SAAS,CAAC;CACf;AAED,wBAAgB,8BAA8B,CAC5C,uBAAuB,EAAE,cAAc,EACvC,QAAQ,EAAE,kBAAkB,GAC3B,cAAc,CAOhB;AAED,qBAAa,iBAAkB,SAAQ,OAAO;IAI1C,QAAQ,CAAC,gBAAgB,EAAE,OAAO;IAClC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB;IACrC,QAAQ,CAAC,KAAK,EAAE,KAAK;IALvB,QAAQ,CAAC,IAAI,SAA8B;gBAGhC,gBAAgB,EAAE,OAAO,EACzB,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,KAAK;IAKjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlB,SAAS,CAAC,WAAW,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7B,OAAO,CACX,UAAU,EAAE,kBAAkB,EAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,EAAE,CAAC;IAUlB,IAAI,CACF,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAIhB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW;CAGtD"}
@@ -1,4 +1,4 @@
1
- import { Candle, InstrumentSelector, Order } from '../../domain';
1
+ import { InstrumentSelector, Ohlc, Order } from '../../domain';
2
2
  import { decimal, timestamp } from '../../shared';
3
3
  import { Store } from '../../store';
4
4
  import { Adapter } from '..';
@@ -23,7 +23,7 @@ export declare class PaperAdapter extends Adapter {
23
23
  account(): Promise<void>;
24
24
  open(order: Order): Promise<void>;
25
25
  cancel(order: Order): Promise<void>;
26
- history(instrument: InstrumentSelector, timeframe: number, length: number): Promise<Candle[]>;
26
+ history(instrument: InstrumentSelector, timeframe: number, length: number): Promise<Ohlc[]>;
27
27
  feed(instrument: InstrumentSelector, from: timestamp, to: timestamp, callback: FeedAsyncCallback): Promise<void>;
28
28
  createPaperEngine(adapter: PaperAdapter): PaperEngine;
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"paper-adapter.d.ts","sourceRoot":"","sources":["../../../src/adapter/paper/paper-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAK,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAqB,KAAK,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CACrC;AAED,wBAAgB,yBAAyB,CACvC,uBAAuB,EAAE,cAAc,EACvC,OAAO,EAAE,YAAY,GACpB,cAAc,CAGhB;AAED,qBAAa,YAAa,SAAQ,OAAO;IAKrC,QAAQ,CAAC,gBAAgB,EAAE,OAAO;IAClC,QAAQ,CAAC,KAAK,EAAE,KAAK;IACrB,QAAQ,CAAC,OAAO,EAAE,YAAY;IANhC,QAAQ,CAAC,IAAI,SAA8B;IAC3C,OAAO,CAAC,MAAM,CAAC,CAAc;gBAGlB,gBAAgB,EAAE,OAAO,EACzB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,YAAY;IAO1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,SAAS,CAAC,WAAW,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BxB,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzC,OAAO,CACL,UAAU,EAAE,kBAAkB,EAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC;IAIpB,IAAI,CACF,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAIhB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW;CAGtD"}
1
+ {"version":3,"file":"paper-adapter.d.ts","sourceRoot":"","sources":["../../../src/adapter/paper/paper-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAK,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAqB,KAAK,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CACrC;AAED,wBAAgB,yBAAyB,CACvC,uBAAuB,EAAE,cAAc,EACvC,OAAO,EAAE,YAAY,GACpB,cAAc,CAGhB;AAED,qBAAa,YAAa,SAAQ,OAAO;IAKrC,QAAQ,CAAC,gBAAgB,EAAE,OAAO;IAClC,QAAQ,CAAC,KAAK,EAAE,KAAK;IACrB,QAAQ,CAAC,OAAO,EAAE,YAAY;IANhC,QAAQ,CAAC,IAAI,SAA8B;IAC3C,OAAO,CAAC,MAAM,CAAC,CAAc;gBAGlB,gBAAgB,EAAE,OAAO,EACzB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,YAAY;IAO1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,SAAS,CAAC,WAAW,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BxB,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzC,OAAO,CACL,UAAU,EAAE,kBAAkB,EAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,EAAE,CAAC;IAIlB,IAAI,CACF,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAIhB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW;CAGtD"}
package/dist/cli/dev.js CHANGED
@@ -36,9 +36,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
38
  const path_1 = require("path");
39
+ const __1 = require("..");
39
40
  const session_builder_1 = require("../domain/session-builder");
40
41
  const shared_1 = require("../shared");
41
- const strategy_1 = require("../strategy");
42
42
  const build_1 = __importDefault(require("./build"));
43
43
  const workspace_1 = require("./internal/workspace");
44
44
  function default_1(name, options) {
@@ -48,7 +48,7 @@ function default_1(name, options) {
48
48
  }
49
49
  yield Promise.resolve().then(() => __importStar(require((0, path_1.join)((0, workspace_1.buildDirectory)(), 'index'))));
50
50
  const builder = new session_builder_1.SessionBuilder().useSessionId(options.id ? Number(options.id) : (0, shared_1.now)());
51
- const rules = yield (0, strategy_1.prepare)(name, builder);
51
+ const rules = yield (0, __1.spawn)(name, builder);
52
52
  const session = builder.paper();
53
53
  yield session.awake();
54
54
  rules(session).subscribe();
package/dist/cli/pull.js CHANGED
@@ -37,11 +37,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
38
  const cli_progress_1 = require("cli-progress");
39
39
  const path_1 = require("path");
40
+ const __1 = require("..");
40
41
  const domain_1 = require("../domain");
41
42
  const session_builder_1 = require("../domain/session-builder");
42
43
  const shared_1 = require("../shared");
43
44
  const storage_1 = require("../storage");
44
- const strategy_1 = require("../strategy");
45
45
  const build_1 = __importDefault(require("./build"));
46
46
  const workspace_1 = require("./internal/workspace");
47
47
  function default_1(name, instrument, options) {
@@ -51,7 +51,7 @@ function default_1(name, instrument, options) {
51
51
  }
52
52
  yield Promise.resolve().then(() => __importStar(require((0, path_1.join)((0, workspace_1.buildDirectory)(), 'index'))));
53
53
  const builder = new session_builder_1.SessionBuilder().useSessionId(options.id ? Number(options.id) : (0, shared_1.now)());
54
- yield (0, strategy_1.prepare)(name, builder);
54
+ yield (0, __1.spawn)(name, builder);
55
55
  const session = builder.paper();
56
56
  console.time('Pulling completed in');
57
57
  yield session.awake();
package/dist/cli/run.js CHANGED
@@ -36,9 +36,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
38
  const path_1 = require("path");
39
+ const __1 = require("..");
39
40
  const session_builder_1 = require("../domain/session-builder");
40
41
  const shared_1 = require("../shared");
41
- const strategy_1 = require("../strategy");
42
42
  const build_1 = __importDefault(require("./build"));
43
43
  const workspace_1 = require("./internal/workspace");
44
44
  function default_1(name, options) {
@@ -48,7 +48,7 @@ function default_1(name, options) {
48
48
  }
49
49
  yield Promise.resolve().then(() => __importStar(require((0, path_1.join)((0, workspace_1.buildDirectory)(), 'index'))));
50
50
  const builder = new session_builder_1.SessionBuilder().useSessionId(options.id ? Number(options.id) : (0, shared_1.now)());
51
- const rules = yield (0, strategy_1.prepare)(name, builder);
51
+ const rules = yield (0, __1.spawn)(name, builder);
52
52
  const session = builder.live();
53
53
  yield session.awake();
54
54
  rules(session).subscribe();
package/dist/cli/test.js CHANGED
@@ -38,7 +38,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
38
38
  const path_1 = require("path");
39
39
  const session_builder_1 = require("../domain/session-builder");
40
40
  const shared_1 = require("../shared");
41
- const strategy_1 = require("../strategy");
41
+ const __1 = require("..");
42
42
  const build_1 = __importDefault(require("./build"));
43
43
  const workspace_1 = require("./internal/workspace");
44
44
  function default_1(name, options) {
@@ -48,7 +48,7 @@ function default_1(name, options) {
48
48
  }
49
49
  yield Promise.resolve().then(() => __importStar(require((0, path_1.join)((0, workspace_1.buildDirectory)(), 'index'))));
50
50
  const builder = new session_builder_1.SessionBuilder().useSessionId(options.id ? Number(options.id) : (0, shared_1.now)());
51
- const rules = yield (0, strategy_1.prepare)(name, builder);
51
+ const rules = yield (0, __1.spawn)(name, builder);
52
52
  const startTime = performance.now();
53
53
  const [session, backtester] = builder.backtest({
54
54
  onBacktestStarted: () => shared_1.Logger.info('backtest', `new session ${session.id} started`),
@@ -8,10 +8,6 @@ export declare class AssetSelector {
8
8
  readonly name: string;
9
9
  readonly adapterName: string;
10
10
  constructor(name: string, adapterName: string);
11
- /**
12
- * Returns unified notation of the asset.
13
- */
14
- toString(): string;
15
11
  }
16
12
  /**
17
13
  * Creates @see AssetSelector based on unified string notation.
@@ -1 +1 @@
1
- {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/domain/asset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGlD,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;GAEG;AACH,qBAAa,aAAa;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAc7C;;OAEG;IACH,QAAQ,IAAI,MAAM;CAGnB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAQvD;AAED;;;GAGG;AACH,qBAAa,KAAM,SAAQ,aAAa;aAGyB,KAAK,EAAE,MAAM;IAF5E,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;gBAEf,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAkB,KAAK,EAAE,MAAM;IAU5E;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO;IAI/B;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO;CAG/B"}
1
+ {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/domain/asset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGlD,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;GAEG;AACH,qBAAa,aAAa;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAa9C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAQvD;AAED;;;GAGG;AACH,qBAAa,KAAM,SAAQ,aAAa;aAGyB,KAAK,EAAE,MAAM;IAF5E,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;gBAEf,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAkB,KAAK,EAAE,MAAM;IAU5E;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO;IAI/B;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO;CAG/B"}
@@ -19,12 +19,6 @@ class AssetSelector {
19
19
  this.adapterName = adapterName.toLowerCase();
20
20
  this.id = `${this.adapterName}${exports.AssetSelectorSeparator}${this.name}`;
21
21
  }
22
- /**
23
- * Returns unified notation of the asset.
24
- */
25
- toString() {
26
- return this.id;
27
- }
28
22
  }
29
23
  exports.AssetSelector = AssetSelector;
30
24
  /**
@@ -9,7 +9,6 @@ export declare class Balance implements Component {
9
9
  timestamp: number;
10
10
  readonly asset: Asset;
11
11
  id: string;
12
- kind: string;
13
12
  private locker;
14
13
  private available;
15
14
  private unavailable;
@@ -44,6 +43,5 @@ export declare class Balance implements Component {
44
43
  */
45
44
  getEstimatedUnrealizedPnL(mode?: PositionMode): decimal;
46
45
  getEstimatedMargin(mode?: PositionMode): decimal;
47
- toString(): string;
48
46
  }
49
47
  //# sourceMappingURL=balance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../src/domain/balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEpD;;GAEG;AACH,qBAAa,OAAQ,YAAW,SAAS;IAqCpB,SAAS,EAAE,MAAM;aAAkB,KAAK,EAAE,KAAK;IApClE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,SAAa;IAEjB,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,WAAW,CAAU;IAE7B;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CAElB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;OAGG;IACH,IAAI,KAAK,IAAI,OAAO,CAInB;IAED;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAM;gBAE9B,SAAS,EAAE,MAAM,EAAkB,KAAK,EAAE,KAAK;IAIlE,OAAO,CAAC,MAAM,EAAE,OAAO;IAQvB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;IAMlC;;;OAGG;IACH,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAchC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAmB9B;;OAEG;IACH,yBAAyB,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO;IAYvD,kBAAkB,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO;IAQhD,QAAQ;CAGT"}
1
+ {"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../src/domain/balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEpD;;GAEG;AACH,qBAAa,OAAQ,YAAW,SAAS;IAoCpB,SAAS,EAAE,MAAM;aAAkB,KAAK,EAAE,KAAK;IAnClE,EAAE,EAAE,MAAM,CAAC;IAEX,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,WAAW,CAAU;IAE7B;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CAElB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;OAGG;IACH,IAAI,KAAK,IAAI,OAAO,CAInB;IAED;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAM;gBAE9B,SAAS,EAAE,MAAM,EAAkB,KAAK,EAAE,KAAK;IAIlE,OAAO,CAAC,MAAM,EAAE,OAAO;IAQvB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;IAMlC;;;OAGG;IACH,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAchC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAmB9B;;OAEG;IACH,yBAAyB,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO;IAYvD,kBAAkB,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO;CAOjD"}
@@ -10,7 +10,6 @@ class Balance {
10
10
  constructor(timestamp, asset) {
11
11
  this.timestamp = timestamp;
12
12
  this.asset = asset;
13
- this.kind = 'balance';
14
13
  this.locker = {};
15
14
  this.available = shared_1.d.Zero;
16
15
  this.unavailable = shared_1.d.Zero;
@@ -94,8 +93,5 @@ class Balance {
94
93
  getEstimatedMargin(mode) {
95
94
  return Object.values(this.position).reduce((aggregate, position) => (aggregate = aggregate.add(mode && mode != position.mode ? 0 : position.margin)), shared_1.d.Zero);
96
95
  }
97
- toString() {
98
- return this.asset.toString();
99
- }
100
96
  }
101
97
  exports.Balance = Balance;
@@ -1,7 +1,6 @@
1
1
  import { timestamp } from '../shared';
2
2
  export interface Component {
3
3
  id: string;
4
- kind: string;
5
4
  timestamp: timestamp;
6
5
  }
7
6
  //# sourceMappingURL=component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/domain/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;CACtB"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/domain/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,SAAS,CAAC;CACtB"}
@@ -2,8 +2,8 @@ export * from './asset';
2
2
  export * from './balance';
3
3
  export * from './balance-operator';
4
4
  export * from './error';
5
- export * from './candle';
6
- export * from './candle-operator';
5
+ export * from './ohlc';
6
+ export * from './ohlc-operator';
7
7
  export * from './commission';
8
8
  export * from './component';
9
9
  export * from './instrument';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC"}
@@ -18,8 +18,8 @@ __exportStar(require("./asset"), exports);
18
18
  __exportStar(require("./balance"), exports);
19
19
  __exportStar(require("./balance-operator"), exports);
20
20
  __exportStar(require("./error"), exports);
21
- __exportStar(require("./candle"), exports);
22
- __exportStar(require("./candle-operator"), exports);
21
+ __exportStar(require("./ohlc"), exports);
22
+ __exportStar(require("./ohlc-operator"), exports);
23
23
  __exportStar(require("./commission"), exports);
24
24
  __exportStar(require("./component"), exports);
25
25
  __exportStar(require("./instrument"), exports);
@@ -7,7 +7,6 @@ export declare class InstrumentSelector {
7
7
  readonly base: AssetSelector;
8
8
  readonly quote: AssetSelector;
9
9
  constructor(base: string, quote: string, adapter: string);
10
- toString(): string;
11
10
  }
12
11
  /**
13
12
  * Represents trading market which is made up by two trading assets (base and quoted).
@@ -18,7 +17,6 @@ export declare class Instrument extends InstrumentSelector implements Component
18
17
  readonly quote: Asset;
19
18
  readonly raw: string;
20
19
  commission: Commission;
21
- readonly kind = "instrument";
22
20
  readonly cross: Instrument | undefined;
23
21
  leverage: number | undefined;
24
22
  constructor(timestamp: number, base: Asset, quote: Asset, raw: string, commission: Commission);
@@ -1 +1 @@
1
- {"version":3,"file":"instrument.d.ts","sourceRoot":"","sources":["../../src/domain/instrument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAA0B,MAAM,SAAS,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;gBAElB,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAOxD,QAAQ,IAAI,MAAM;CAGnB;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,kBAAmB,YAAW,SAAS;IAM5D,SAAS,EAAE,MAAM;aACN,IAAI,EAAE,KAAK;aACX,KAAK,EAAE,KAAK;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM;IACb,UAAU,EAAE,UAAU;IAT/B,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;IACvC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAa;gBAGhC,SAAS,EAAE,MAAM,EACN,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,KAAK,EACrB,GAAG,EAAE,MAAM,EACb,UAAU,EAAE,UAAU;CAQhC;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAYjE"}
1
+ {"version":3,"file":"instrument.d.ts","sourceRoot":"","sources":["../../src/domain/instrument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAA0B,MAAM,SAAS,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;gBAElB,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAMzD;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,kBAAmB,YAAW,SAAS;IAK5D,SAAS,EAAE,MAAM;aACN,IAAI,EAAE,KAAK;aACX,KAAK,EAAE,KAAK;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM;IACb,UAAU,EAAE,UAAU;IAR/B,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;IACvC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAa;gBAGhC,SAAS,EAAE,MAAM,EACN,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,KAAK,EACrB,GAAG,EAAE,MAAM,EACb,UAAU,EAAE,UAAU;CAQhC;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAYjE"}
@@ -10,9 +10,6 @@ class InstrumentSelector {
10
10
  this.quote = new asset_1.AssetSelector(quote.toLowerCase(), adapter.toLowerCase());
11
11
  this.id = `${this.base.id}${exports.InstrumentSelectorSeparator}${this.quote.name}`;
12
12
  }
13
- toString() {
14
- return this.id;
15
- }
16
13
  }
17
14
  exports.InstrumentSelector = InstrumentSelector;
18
15
  /**
@@ -26,7 +23,6 @@ class Instrument extends InstrumentSelector {
26
23
  this.quote = quote;
27
24
  this.raw = raw;
28
25
  this.commission = commission;
29
- this.kind = 'instrument';
30
26
  this.leverage = undefined;
31
27
  if (base.adapterName != quote.adapterName) {
32
28
  throw (0, error_1.adapterMismatchError)();
@@ -0,0 +1,11 @@
1
+ import { Observable } from 'rxjs';
2
+ import { decimal } from '../shared';
3
+ import { Ohlc } from './ohlc';
4
+ export declare function ohlc<T extends {
5
+ timestamp: number;
6
+ }>(timeframe: number, fn: (x: T) => decimal, candleToStartWith?: Ohlc): (source: Observable<T>) => Observable<Ohlc>;
7
+ export declare function mergeOhlc<T extends {
8
+ timestamp: number;
9
+ }>(timeframe: number, fn: (x: T) => decimal, history$: Observable<Ohlc>): (source$: Observable<T>) => Observable<Ohlc>;
10
+ export declare function ohlcCompleted(): (source: Observable<Ohlc>) => Observable<Ohlc>;
11
+ //# sourceMappingURL=ohlc-operator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ohlc-operator.d.ts","sourceRoot":"","sources":["../../src/domain/ohlc-operator.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,UAAU,EAKX,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAuB9B,wBAAgB,IAAI,CAAC,CAAC,SAAS;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAClD,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,EACrB,iBAAiB,CAAC,EAAE,IAAI,YAEC,WAAW,CAAC,CAAC,KAAG,WAAW,IAAI,CAAC,CAmC1D;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EACvD,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,EACrB,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,aAEA,WAAW,CAAC,CAAC,KAAG,WAAW,IAAI,CAAC,CAY3D;AAED,wBAAgB,aAAa,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,CAwB9E"}
@@ -1,23 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.candleCompleted = exports.mergeCandle = exports.candle = void 0;
3
+ exports.ohlcCompleted = exports.mergeOhlc = exports.ohlc = void 0;
4
4
  const rxjs_1 = require("rxjs");
5
- const candle_1 = require("./candle");
5
+ const ohlc_1 = require("./ohlc");
6
6
  const timeframe_1 = require("./timeframe");
7
7
  function aggregate(candle, timeframe, value, timestamp) {
8
8
  const frame = (0, timeframe_1.tf)(timestamp, timeframe);
9
9
  if (!candle) {
10
- return new candle_1.Candle(frame, value, value, value, value);
10
+ return new ohlc_1.Ohlc(frame, value, value, value, value);
11
11
  }
12
12
  if (candle.timestamp === frame) {
13
13
  candle.apply(value);
14
14
  return undefined;
15
15
  }
16
16
  else {
17
- return new candle_1.Candle(frame, candle.close, value, value, value);
17
+ return new ohlc_1.Ohlc(frame, candle.close, value, value, value);
18
18
  }
19
19
  }
20
- function candle(timeframe, fn, candleToStartWith) {
20
+ function ohlc(timeframe, fn, candleToStartWith) {
21
21
  return function (source) {
22
22
  let candle = candleToStartWith;
23
23
  return source.pipe((0, rxjs_1.map)(it => {
@@ -43,14 +43,14 @@ function candle(timeframe, fn, candleToStartWith) {
43
43
  }), (0, rxjs_1.mergeMap)(it => it), (0, rxjs_1.share)());
44
44
  };
45
45
  }
46
- exports.candle = candle;
47
- function mergeCandle(timeframe, fn, history$) {
46
+ exports.ohlc = ohlc;
47
+ function mergeOhlc(timeframe, fn, history$) {
48
48
  return function (source$) {
49
- return (0, rxjs_1.concat)(history$.pipe((0, rxjs_1.skipLast)(1)), history$.pipe((0, rxjs_1.last)(), (0, rxjs_1.switchMap)(lastHistoricalCandle => source$.pipe(candle(timeframe, fn, lastHistoricalCandle))), (0, rxjs_1.share)()));
49
+ return (0, rxjs_1.concat)(history$.pipe((0, rxjs_1.skipLast)(1)), history$.pipe((0, rxjs_1.last)(), (0, rxjs_1.switchMap)(lastHistoricalCandle => source$.pipe(ohlc(timeframe, fn, lastHistoricalCandle))), (0, rxjs_1.share)()));
50
50
  };
51
51
  }
52
- exports.mergeCandle = mergeCandle;
53
- function candleCompleted() {
52
+ exports.mergeOhlc = mergeOhlc;
53
+ function ohlcCompleted() {
54
54
  let currCandle;
55
55
  return (source) => source.pipe((0, rxjs_1.map)(it => {
56
56
  if (!currCandle) {
@@ -67,4 +67,4 @@ function candleCompleted() {
67
67
  }
68
68
  }), (0, rxjs_1.filter)(it => it !== undefined), (0, rxjs_1.share)());
69
69
  }
70
- exports.candleCompleted = candleCompleted;
70
+ exports.ohlcCompleted = ohlcCompleted;
@@ -1,5 +1,5 @@
1
1
  import { decimal, timestamp } from '../shared';
2
- export declare class Candle {
2
+ export declare class Ohlc {
3
3
  timestamp: timestamp;
4
4
  open: decimal;
5
5
  high: decimal;
@@ -9,4 +9,4 @@ export declare class Candle {
9
9
  constructor(timestamp: timestamp, open: decimal, high: decimal, low: decimal, close: decimal, volume?: decimal | undefined);
10
10
  apply(value: decimal): void;
11
11
  }
12
- //# sourceMappingURL=candle.d.ts.map
12
+ //# sourceMappingURL=ohlc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ohlc.d.ts","sourceRoot":"","sources":["../../src/domain/ohlc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE/C,qBAAa,IAAI;IAEN,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,OAAO;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,CAAC;gBALP,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,OAAO,EACd,MAAM,CAAC,qBAAS;IAGzB,KAAK,CAAC,KAAK,EAAE,OAAO;CAKrB"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Candle = void 0;
3
+ exports.Ohlc = void 0;
4
4
  const shared_1 = require("../shared");
5
- class Candle {
5
+ class Ohlc {
6
6
  constructor(timestamp, open, high, low, close, volume) {
7
7
  this.timestamp = timestamp;
8
8
  this.open = open;
@@ -17,4 +17,4 @@ class Candle {
17
17
  this.close = value;
18
18
  }
19
19
  }
20
- exports.Candle = Candle;
20
+ exports.Ohlc = Ohlc;
@@ -11,13 +11,11 @@ export declare class Order implements Component {
11
11
  createdAt: number;
12
12
  readonly rate?: decimal | undefined;
13
13
  readonly stopRate?: decimal | undefined;
14
- readonly kind = "order";
15
14
  state: OrderState;
16
15
  quantityExecuted: decimal;
17
16
  averageExecutionRate?: decimal;
18
17
  externalId?: string;
19
18
  constructor(timestamp: number, id: string, instrument: Instrument, quantity: decimal, createdAt: number, rate?: decimal | undefined, stopRate?: decimal | undefined);
20
- toString(): string;
21
19
  calculateBalanceToLock(base: Balance, quote: Balance): {
22
20
  base?: decimal;
23
21
  quote?: decimal;
@@ -1 +1 @@
1
- {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../src/domain/order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,oBAAY,UAAU,GAClB,KAAK,GACL,SAAS,GACT,QAAQ,GACR,WAAW,GACX,UAAU,GACV,UAAU,CAAC;AAEf,qBAAa,KAAM,YAAW,SAAS;IAQ5B,SAAS,EAAE,MAAM;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,UAAU,EAAE,UAAU;IAC/B,QAAQ,CAAC,QAAQ,EAAE,OAAO;IACnB,SAAS,EAAE,MAAM;IACxB,QAAQ,CAAC,IAAI,CAAC;IACd,QAAQ,CAAC,QAAQ,CAAC;IAbpB,QAAQ,CAAC,IAAI,WAAW;IACxB,KAAK,EAAE,UAAU,CAAS;IAC1B,gBAAgB,UAAU;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;gBAGX,SAAS,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,OAAO,EACnB,SAAS,EAAE,MAAM,EACf,IAAI,CAAC,qBAAS,EACd,QAAQ,CAAC,qBAAS;IAW7B,QAAQ;IAIR,sBAAsB,CACpB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,GACb;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CA0BvC"}
1
+ {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../src/domain/order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,oBAAY,UAAU,GAClB,KAAK,GACL,SAAS,GACT,QAAQ,GACR,WAAW,GACX,UAAU,GACV,UAAU,CAAC;AAEf,qBAAa,KAAM,YAAW,SAAS;IAO5B,SAAS,EAAE,MAAM;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,UAAU,EAAE,UAAU;IAC/B,QAAQ,CAAC,QAAQ,EAAE,OAAO;IACnB,SAAS,EAAE,MAAM;IACxB,QAAQ,CAAC,IAAI,CAAC;IACd,QAAQ,CAAC,QAAQ,CAAC;IAZpB,KAAK,EAAE,UAAU,CAAS;IAC1B,gBAAgB,UAAU;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;gBAGX,SAAS,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,OAAO,EACnB,SAAS,EAAE,MAAM,EACf,IAAI,CAAC,qBAAS,EACd,QAAQ,CAAC,qBAAS;IAW7B,sBAAsB,CACpB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,GACb;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CA0BvC"}
@@ -12,7 +12,6 @@ class Order {
12
12
  this.createdAt = createdAt;
13
13
  this.rate = rate;
14
14
  this.stopRate = stopRate;
15
- this.kind = 'order';
16
15
  this.state = 'NEW';
17
16
  this.quantityExecuted = shared_1.d.Zero;
18
17
  if (!quantity || Number.isNaN(quantity)) {
@@ -22,9 +21,6 @@ class Order {
22
21
  throw (0, error_1.invalidArgumentError)(rate);
23
22
  }
24
23
  }
25
- toString() {
26
- return this.id;
27
- }
28
24
  calculateBalanceToLock(base, quote) {
29
25
  const qty = this.quantity.abs();
30
26
  if (this.quantity.greaterThan(0)) {
@@ -25,8 +25,6 @@ export declare class Orderbook implements Component {
25
25
  asks: Liquidity;
26
26
  bids: Liquidity;
27
27
  readonly id: string;
28
- readonly kind = "orderbook";
29
28
  constructor(timestamp: number, instrument: Instrument, asks: Liquidity, bids: Liquidity);
30
- toString(): string;
31
29
  }
32
30
  //# sourceMappingURL=orderbook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"orderbook.d.ts","sourceRoot":"","sources":["../../src/domain/orderbook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;CACxB;AAED,eAAO,MAAM,oBAAoB,QAAS;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,OAAO;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,WACpD,CAAC;AAChC,eAAO,MAAM,oBAAoB,QAAS;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,OAAO;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,WACpD,CAAC;AAEhC;;GAEG;AACH,qBAAa,SAAU,YAAW,SAAS;IAKhC,SAAS,EAAE,MAAM;aACR,UAAU,EAAE,UAAU;IAC/B,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IAPxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,eAAe;gBAGnB,SAAS,EAAE,MAAM,EACR,UAAU,EAAE,UAAU,EAC/B,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,SAAS;IAKxB,QAAQ;CAGT"}
1
+ {"version":3,"file":"orderbook.d.ts","sourceRoot":"","sources":["../../src/domain/orderbook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;CACxB;AAED,eAAO,MAAM,oBAAoB,QAAS;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,OAAO;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,WACpD,CAAC;AAChC,eAAO,MAAM,oBAAoB,QAAS;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,OAAO;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,WACpD,CAAC;AAEhC;;GAEG;AACH,qBAAa,SAAU,YAAW,SAAS;IAIhC,SAAS,EAAE,MAAM;aACR,UAAU,EAAE,UAAU;IAC/B,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IANxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;gBAGX,SAAS,EAAE,MAAM,EACR,UAAU,EAAE,UAAU,EAC/B,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,SAAS;CAIzB"}
@@ -14,11 +14,7 @@ class Orderbook {
14
14
  this.instrument = instrument;
15
15
  this.asks = asks;
16
16
  this.bids = bids;
17
- this.kind = 'orderbook';
18
17
  this.id = instrument.id;
19
18
  }
20
- toString() {
21
- return this.instrument.toString();
22
- }
23
19
  }
24
20
  exports.Orderbook = Orderbook;
@@ -10,11 +10,9 @@ export declare class Position implements Component {
10
10
  averageExecutionRate: decimal;
11
11
  size: decimal;
12
12
  leverage: number;
13
- readonly kind = "position";
14
13
  estimatedUnrealizedPnL?: decimal;
15
14
  get margin(): decimal;
16
15
  constructor(timestamp: number, id: string, instrument: Instrument, mode: PositionMode, averageExecutionRate: decimal, size: decimal, leverage: number);
17
16
  calculateEstimatedUnrealizedPnL(rate: decimal): decimal;
18
- toString(): string;
19
17
  }
20
18
  //# sourceMappingURL=position.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../src/domain/position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,OAAO,EAAO,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,oBAAY,YAAY,GAAG,OAAO,GAAG,UAAU,CAAC;AAEhD,qBAAa,QAAS,YAAW,SAAS;IAS/B,SAAS,EAAE,MAAM;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,UAAU,EAAE,UAAU;IAC/B,QAAQ,CAAC,IAAI,EAAE,YAAY;IACpB,oBAAoB,EAAE,OAAO;IAC7B,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,MAAM;IAdzB,QAAQ,CAAC,IAAI,cAAc;IAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,IAAI,MAAM,IAAI,OAAO,CAEpB;gBAGQ,SAAS,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,YAAY,EACpB,oBAAoB,EAAE,OAAO,EAC7B,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM;IAGzB,+BAA+B,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAQvD,QAAQ;CAGT"}
1
+ {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../src/domain/position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,OAAO,EAAO,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,oBAAY,YAAY,GAAG,OAAO,GAAG,UAAU,CAAC;AAEhD,qBAAa,QAAS,YAAW,SAAS;IAQ/B,SAAS,EAAE,MAAM;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,UAAU,EAAE,UAAU;IAC/B,QAAQ,CAAC,IAAI,EAAE,YAAY;IACpB,oBAAoB,EAAE,OAAO;IAC7B,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,MAAM;IAbzB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,IAAI,MAAM,IAAI,OAAO,CAEpB;gBAGQ,SAAS,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,YAAY,EACpB,oBAAoB,EAAE,OAAO,EAC7B,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM;IAGzB,+BAA+B,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;CAOxD"}
@@ -11,7 +11,6 @@ class Position {
11
11
  this.averageExecutionRate = averageExecutionRate;
12
12
  this.size = size;
13
13
  this.leverage = leverage;
14
- this.kind = 'position';
15
14
  }
16
15
  get margin() {
17
16
  return this.instrument.quote.floor(this.size.abs().div(this.leverage));
@@ -20,8 +19,5 @@ class Position {
20
19
  this.estimatedUnrealizedPnL = this.instrument.quote.floor((0, shared_1.pnl)(this.averageExecutionRate, rate, this.size));
21
20
  return this.estimatedUnrealizedPnL;
22
21
  }
23
- toString() {
24
- return this.id;
25
- }
26
22
  }
27
23
  exports.Position = Position;
@@ -5,7 +5,7 @@ import { AssetSelector } from './asset';
5
5
  import { Session } from './session';
6
6
  export declare type SessionFeature = (builder: SessionBuilder) => void;
7
7
  export declare function deposit(selector: AssetSelector, amount: decimal): SessionFeature;
8
- export declare function period(from: Date, to: Date): SessionFeature;
8
+ export declare function period(from: Date, to?: Date): SessionFeature;
9
9
  export declare class SessionBuilder {
10
10
  id: number;
11
11
  adapter: AdapterFactory[];
@@ -1 +1 @@
1
- {"version":3,"file":"session-builder.d.ts","sourceRoot":"","sources":["../../src/domain/session-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAInB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,OAAO,EAAO,MAAM,WAAW,CAAC;AACzC,OAAO,EAKL,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,oBAAY,cAAc,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;AAE/D,wBAAgB,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,GAAG,cAAc,CAIhF;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,cAAc,CAI3D;AAED,qBAAa,cAAc;IAClB,EAAE,EAAE,MAAM,CAAS;IACnB,OAAO,mBAA+B;IACtC,OAAO,EAAE,cAAc,CAA4B;IACnD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACtC,MAAM;;;MAGX;IAEF;;;;;OAKG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc;IAMxC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc;IAMnD;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc;IAMnD,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,GAAG,cAAc;IAMpE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,cAAc;IAOnD;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC;IAyBtE;;;OAGG;IACH,KAAK,IAAI,OAAO;IAehB;;;OAGG;IACH,IAAI,IAAI,OAAO;CAchB"}
1
+ {"version":3,"file":"session-builder.d.ts","sourceRoot":"","sources":["../../src/domain/session-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAInB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,OAAO,EAAO,MAAM,WAAW,CAAC;AACzC,OAAO,EAKL,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,oBAAY,cAAc,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;AAE/D,wBAAgB,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,GAAG,cAAc,CAIhF;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,cAAc,CAI5D;AAED,qBAAa,cAAc;IAClB,EAAE,EAAE,MAAM,CAAS;IACnB,OAAO,mBAA+B;IACtC,OAAO,EAAE,cAAc,CAA4B;IACnD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACtC,MAAM;;;MAGX;IAEF;;;;;OAKG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc;IAMxC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc;IAMnD;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc;IAMnD,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,GAAG,cAAc;IAMpE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,cAAc;IAOnD;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC;IAyBtE;;;OAGG;IACH,KAAK,IAAI,OAAO;IAehB;;;OAGG;IACH,IAAI,IAAI,OAAO;CAchB"}