@quantform/core 0.3.264 → 0.3.272
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.
- package/dist/adapter/adapter-aggregate.d.ts +2 -2
- package/dist/adapter/adapter-aggregate.js.map +1 -1
- package/dist/adapter/adapter.d.ts +5 -6
- package/dist/adapter/adapter.js.map +1 -1
- package/dist/adapter/backtester/backtester-adapter.d.ts +6 -6
- package/dist/adapter/backtester/backtester-adapter.js +5 -9
- package/dist/adapter/backtester/backtester-adapter.js.map +1 -1
- package/dist/adapter/backtester/backtester-cursor.d.ts +2 -2
- package/dist/adapter/backtester/backtester-cursor.spec.js +9 -9
- package/dist/adapter/backtester/backtester-cursor.spec.js.map +1 -1
- package/dist/adapter/backtester/backtester-streamer.d.ts +6 -4
- package/dist/adapter/backtester/backtester-streamer.js +5 -5
- package/dist/adapter/backtester/backtester-streamer.js.map +1 -1
- package/dist/adapter/backtester/backtester-streamer.spec.js +9 -11
- package/dist/adapter/backtester/backtester-streamer.spec.js.map +1 -1
- package/dist/adapter/index.d.ts +2 -0
- package/dist/adapter/index.js +2 -0
- package/dist/adapter/index.js.map +1 -1
- package/dist/adapter/paper/index.d.ts +2 -2
- package/dist/adapter/paper/index.js +2 -2
- package/dist/adapter/paper/index.js.map +1 -1
- package/dist/adapter/paper/paper-adapter.d.ts +5 -5
- package/dist/adapter/paper/paper-adapter.js +9 -12
- package/dist/adapter/paper/paper-adapter.js.map +1 -1
- package/dist/adapter/paper/paper-adapter.spec.js +5 -7
- package/dist/adapter/paper/paper-adapter.spec.js.map +1 -1
- package/dist/adapter/paper/{executor/paper-margin-executor.d.ts → simulator/paper-margin-simulator.d.ts} +3 -3
- package/dist/adapter/paper/{executor/paper-margin-executor.js → simulator/paper-margin-simulator.js} +11 -11
- package/dist/adapter/paper/simulator/paper-margin-simulator.js.map +1 -0
- package/dist/adapter/paper/{executor/paper-executor.d.ts → simulator/paper-simulator.d.ts} +2 -2
- package/dist/adapter/paper/{executor/paper-executor.js → simulator/paper-simulator.js} +7 -7
- package/dist/adapter/paper/simulator/paper-simulator.js.map +1 -0
- package/dist/adapter/paper/{executor/paper-spot-executor.d.ts → simulator/paper-spot-simulator.d.ts} +3 -3
- package/dist/adapter/paper/{executor/paper-spot-executor.js → simulator/paper-spot-simulator.js} +17 -17
- package/dist/adapter/paper/simulator/paper-spot-simulator.js.map +1 -0
- package/dist/adapter/paper/simulator/paper-spot-simulator.spec.d.ts +1 -0
- package/dist/adapter/paper/simulator/paper-spot-simulator.spec.js +49 -0
- package/dist/adapter/paper/simulator/paper-spot-simulator.spec.js.map +1 -0
- package/dist/bootstrap.d.ts +1 -1
- package/dist/bootstrap.js +3 -5
- package/dist/bootstrap.js.map +1 -1
- package/dist/domain/balance.d.ts +1 -1
- package/dist/domain/candle.d.ts +14 -0
- package/dist/domain/candle.js +65 -1
- package/dist/domain/candle.js.map +1 -1
- package/dist/domain/candle.spec.js +11 -13
- package/dist/domain/candle.spec.js.map +1 -1
- package/dist/domain/index.d.ts +6 -8
- package/dist/domain/index.js +6 -8
- package/dist/domain/index.js.map +1 -1
- package/dist/domain/order.d.ts +1 -1
- package/dist/domain/order.js.map +1 -1
- package/dist/domain/orderbook.d.ts +1 -1
- package/dist/domain/position.d.ts +2 -2
- package/dist/domain/position.js +3 -3
- package/dist/domain/position.js.map +1 -1
- package/dist/domain/session.d.ts +14 -3
- package/dist/domain/session.js +17 -18
- package/dist/domain/session.js.map +1 -1
- package/dist/domain/session.spec.js +3 -3
- package/dist/domain/session.spec.js.map +1 -1
- package/dist/domain/statement.d.ts +1 -2
- package/dist/domain/statement.js.map +1 -1
- package/dist/domain/trade.d.ts +1 -1
- package/dist/index.d.ts +4 -7
- package/dist/index.js +4 -7
- package/dist/index.js.map +1 -1
- package/dist/indicator/atr.js +3 -3
- package/dist/indicator/atr.js.map +1 -1
- package/dist/indicator/cross.js +3 -3
- package/dist/indicator/cross.js.map +1 -1
- package/dist/indicator/donchian.js +3 -4
- package/dist/indicator/donchian.js.map +1 -1
- package/dist/indicator/drawdown.js +3 -3
- package/dist/indicator/drawdown.js.map +1 -1
- package/dist/indicator/ema.js +3 -3
- package/dist/indicator/ema.js.map +1 -1
- package/dist/indicator/envelope.js +3 -3
- package/dist/indicator/envelope.js.map +1 -1
- package/dist/indicator/index.d.ts +3 -3
- package/dist/indicator/index.js +3 -3
- package/dist/indicator/index.js.map +1 -1
- package/dist/indicator/macd.js +2 -3
- package/dist/indicator/macd.js.map +1 -1
- package/dist/indicator/min-max.js +3 -3
- package/dist/indicator/min-max.js.map +1 -1
- package/dist/indicator/rma.js +3 -3
- package/dist/indicator/rma.js.map +1 -1
- package/dist/indicator/sma.js +2 -3
- package/dist/indicator/sma.js.map +1 -1
- package/dist/indicator/swma.js +3 -3
- package/dist/indicator/swma.js.map +1 -1
- package/dist/indicator/tma.js +3 -3
- package/dist/indicator/tma.js.map +1 -1
- package/dist/indicator/trailing.js +3 -3
- package/dist/indicator/trailing.js.map +1 -1
- package/dist/indicator/truerange.js +3 -3
- package/dist/indicator/truerange.js.map +1 -1
- package/dist/indicator/truerange.spec.js +2 -2
- package/dist/indicator/truerange.spec.js.map +1 -1
- package/dist/indicator/wma.js +3 -3
- package/dist/indicator/wma.js.map +1 -1
- package/dist/ipc.d.ts +1 -1
- package/dist/ipc.js +3 -3
- package/dist/ipc.js.map +1 -1
- package/dist/ipc.spec.js +4 -5
- package/dist/ipc.spec.js.map +1 -1
- package/dist/shared/index.d.ts +4 -4
- package/dist/shared/index.js +4 -4
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/policy.js +1 -1
- package/dist/shared/policy.js.map +1 -1
- package/dist/storage/feed.d.ts +1 -1
- package/dist/storage/feed.js.map +1 -1
- package/dist/storage/index.d.ts +1 -1
- package/dist/storage/index.js +1 -1
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/measurement.js.map +1 -1
- package/dist/storage/storage.js.map +1 -1
- package/dist/store/event/index.d.ts +4 -4
- package/dist/store/event/index.js +4 -4
- package/dist/store/event/index.js.map +1 -1
- package/dist/store/event/store-balance.event.d.ts +1 -1
- package/dist/store/event/store-balance.event.js +1 -1
- package/dist/store/event/store-balance.event.js.map +1 -1
- package/dist/store/event/store-balance.event.spec.js +3 -3
- package/dist/store/event/store-balance.event.spec.js.map +1 -1
- package/dist/store/event/store-candle.event.d.ts +2 -2
- package/dist/store/event/store-candle.event.js +2 -2
- package/dist/store/event/store-candle.event.js.map +1 -1
- package/dist/store/event/store-candle.event.spec.js +1 -1
- package/dist/store/event/store-candle.event.spec.js.map +1 -1
- package/dist/store/event/store-instrument.event.d.ts +1 -1
- package/dist/store/event/store-instrument.event.js +1 -1
- package/dist/store/event/store-instrument.event.js.map +1 -1
- package/dist/store/event/store-instrument.event.spec.js +1 -1
- package/dist/store/event/store-instrument.event.spec.js.map +1 -1
- package/dist/store/event/store-order.event.d.ts +1 -1
- package/dist/store/event/store-order.event.js +6 -6
- package/dist/store/event/store-order.event.js.map +1 -1
- package/dist/store/event/store-order.event.spec.js +2 -2
- package/dist/store/event/store-order.event.spec.js.map +1 -1
- package/dist/store/event/store-orderbook.event.d.ts +1 -1
- package/dist/store/event/store-orderbook.event.js +1 -1
- package/dist/store/event/store-orderbook.event.js.map +1 -1
- package/dist/store/event/store-position.event.d.ts +1 -1
- package/dist/store/event/store-position.event.js +1 -1
- package/dist/store/event/store-position.event.js.map +1 -1
- package/dist/store/event/store-trade.event.d.ts +1 -1
- package/dist/store/event/store-trade.event.js +1 -1
- package/dist/store/event/store-trade.event.js.map +1 -1
- package/dist/store/event/store-trade.event.spec.js +2 -2
- package/dist/store/event/store-trade.event.spec.js.map +1 -1
- package/dist/store/index.d.ts +1 -0
- package/dist/store/index.js +1 -0
- package/dist/store/index.js.map +1 -1
- package/dist/store/store.d.ts +2 -5
- package/dist/store/store.js +4 -8
- package/dist/store/store.js.map +1 -1
- package/dist/store/store.state.d.ts +1 -1
- package/dist/tests/backtester-adapter.spec.js +8 -15
- package/dist/tests/backtester-adapter.spec.js.map +1 -1
- package/dist/tests/session.spec.d.ts +0 -1
- package/dist/tests/session.spec.js +0 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/adapter/adapter-aggregate.ts +2 -3
- package/src/adapter/adapter.ts +5 -6
- package/src/adapter/backtester/backtester-adapter.ts +8 -8
- package/src/adapter/backtester/backtester-cursor.spec.ts +1 -1
- package/src/adapter/backtester/backtester-cursor.ts +2 -2
- package/src/adapter/backtester/backtester-streamer.spec.ts +1 -3
- package/src/adapter/backtester/backtester-streamer.ts +7 -8
- package/src/adapter/index.ts +2 -0
- package/src/adapter/paper/index.ts +2 -2
- package/src/adapter/paper/paper-adapter.spec.ts +6 -8
- package/src/adapter/paper/paper-adapter.ts +9 -11
- package/src/adapter/paper/{executor/paper-margin-executor.ts → simulator/paper-margin-simulator.ts} +5 -5
- package/src/adapter/paper/{executor/paper-executor.ts → simulator/paper-simulator.ts} +4 -4
- package/src/adapter/paper/simulator/paper-spot-simulator.spec.ts +87 -0
- package/src/adapter/paper/{executor/paper-spot-executor.ts → simulator/paper-spot-simulator.ts} +6 -6
- package/src/bootstrap.ts +4 -4
- package/src/domain/balance.ts +1 -1
- package/src/domain/candle.spec.ts +3 -5
- package/src/domain/candle.ts +103 -0
- package/src/domain/index.ts +6 -8
- package/src/domain/order.ts +2 -2
- package/src/domain/orderbook.ts +1 -1
- package/src/domain/position.ts +2 -3
- package/src/domain/session.spec.ts +3 -3
- package/src/domain/session.ts +61 -8
- package/src/domain/statement.ts +1 -2
- package/src/domain/trade.ts +1 -1
- package/src/index.ts +4 -7
- package/src/indicator/atr.ts +1 -2
- package/src/indicator/cross.ts +3 -4
- package/src/indicator/donchian.ts +2 -3
- package/src/indicator/drawdown.ts +2 -3
- package/src/indicator/ema.ts +1 -2
- package/src/indicator/envelope.ts +1 -2
- package/src/indicator/index.ts +3 -3
- package/src/indicator/macd.ts +1 -2
- package/src/indicator/min-max.ts +1 -2
- package/src/indicator/rma.ts +1 -2
- package/src/indicator/sma.ts +1 -2
- package/src/indicator/swma.ts +1 -2
- package/src/indicator/tma.ts +1 -2
- package/src/indicator/trailing.ts +3 -4
- package/src/indicator/truerange.spec.ts +2 -2
- package/src/indicator/truerange.ts +1 -2
- package/src/indicator/window.ts +1 -1
- package/src/indicator/wma.ts +1 -2
- package/src/ipc.spec.ts +6 -7
- package/src/ipc.ts +6 -6
- package/src/shared/index.ts +4 -4
- package/src/shared/policy.ts +1 -1
- package/src/shared/topic.spec.ts +1 -1
- package/src/storage/feed.ts +20 -1
- package/src/storage/index.ts +1 -1
- package/src/storage/measurement.ts +19 -0
- package/src/storage/storage.ts +37 -0
- package/src/store/event/index.ts +4 -4
- package/src/store/event/store-balance.event.spec.ts +3 -3
- package/src/store/event/store-balance.event.ts +2 -2
- package/src/store/event/store-candle.event.spec.ts +1 -1
- package/src/store/event/store-candle.event.ts +5 -5
- package/src/store/event/store-instrument.event.spec.ts +1 -1
- package/src/store/event/store-instrument.event.ts +2 -2
- package/src/store/event/store-order.event.spec.ts +2 -2
- package/src/store/event/store-order.event.ts +7 -7
- package/src/store/event/store-orderbook.event.ts +2 -2
- package/src/store/event/store-position.event.ts +2 -2
- package/src/store/event/store-trade.event.spec.ts +2 -2
- package/src/store/event/store-trade.event.ts +2 -2
- package/src/store/index.ts +1 -0
- package/src/store/store.state.ts +7 -7
- package/src/store/store.ts +6 -9
- package/src/tests/backtester-adapter.spec.ts +8 -15
- package/src/tests/session.spec.ts +0 -3
- package/dist/adapter/paper/executor/paper-executor.js.map +0 -1
- package/dist/adapter/paper/executor/paper-margin-executor.js.map +0 -1
- package/dist/adapter/paper/executor/paper-spot-executor.js.map +0 -1
- package/dist/domain/candle-builder.d.ts +0 -16
- package/dist/domain/candle-builder.js +0 -70
- package/dist/domain/candle-builder.js.map +0 -1
- package/dist/domain/session-descriptor.d.ts +0 -15
- package/dist/domain/session-descriptor.js +0 -3
- package/dist/domain/session-descriptor.js.map +0 -1
- package/src/domain/candle-builder.ts +0 -104
- package/src/domain/session-descriptor.ts +0 -53
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-instrument.event.spec.js","sourceRoot":"","sources":["../../../src/store/event/store-instrument.event.spec.ts"],"names":[],"mappings":";;AAAA,0BAA2B;AAC3B,yCAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"store-instrument.event.spec.js","sourceRoot":"","sources":["../../../src/store/event/store-instrument.event.spec.ts"],"names":[],"mappings":";;AAAA,0BAA2B;AAC3B,yCAAiD;AACjD,yCAAmC;AACnC,qEAAgE;AAEhE,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAChC,MAAM,SAAS,GAAG,IAAA,YAAG,GAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,SAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,cAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,cAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAEzC,KAAK,CAAC,QAAQ,CACZ,IAAI,6CAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,mBAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAC3E,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9E,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAC1E,SAAS,CACV,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { timestamp } from '../../shared';
|
|
2
1
|
import { Order } from '../../domain';
|
|
2
|
+
import { timestamp } from '../../shared';
|
|
3
3
|
import { State, StateChangeTracker } from '../store.state';
|
|
4
4
|
import { StoreEvent } from './store.event';
|
|
5
5
|
export declare class OrderLoadEvent implements StoreEvent {
|
|
@@ -10,8 +10,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.OrderRejectedEventHandler = exports.OrderRejectedEvent = exports.OrderCancelFailedEventHandler = exports.OrderCancelFailedEvent = exports.OrderCanceledEventHandler = exports.OrderCanceledEvent = exports.OrderCancelingEventHandler = exports.OrderCancelingEvent = exports.OrderFilledEventHandler = exports.OrderFilledEvent = exports.OrderPendingEventHandler = exports.OrderPendingEvent = exports.OrderNewEventHandler = exports.OrderNewEvent = exports.OrderLoadEventHandler = exports.OrderLoadEvent = void 0;
|
|
13
|
-
const topic_1 = require("../../shared/topic");
|
|
14
13
|
const domain_1 = require("../../domain");
|
|
14
|
+
const topic_1 = require("../../shared/topic");
|
|
15
15
|
let OrderLoadEvent = class OrderLoadEvent {
|
|
16
16
|
constructor(order, timestamp) {
|
|
17
17
|
this.order = order;
|
|
@@ -70,7 +70,7 @@ function OrderPendingEventHandler(event, state, changes) {
|
|
|
70
70
|
}
|
|
71
71
|
const order = state.order[event.id];
|
|
72
72
|
if (order.state != 'NEW') {
|
|
73
|
-
throw new Error(`Order is not
|
|
73
|
+
throw new Error(`Order is not NEW: ${order.state}`);
|
|
74
74
|
}
|
|
75
75
|
order.state = 'PENDING';
|
|
76
76
|
order.timestamp = event.timestamp;
|
|
@@ -96,7 +96,7 @@ function OrderFilledEventHandler(event, state, changes) {
|
|
|
96
96
|
}
|
|
97
97
|
const order = state.order[event.id];
|
|
98
98
|
if (order.state != 'PENDING' && order.state != 'CANCELING') {
|
|
99
|
-
throw new Error(
|
|
99
|
+
throw new Error(`Order is not PENDING or CANCELING: ${order.state}`);
|
|
100
100
|
}
|
|
101
101
|
order.state = 'FILLED';
|
|
102
102
|
order.timestamp = event.timestamp;
|
|
@@ -126,7 +126,7 @@ function OrderCancelingEventHandler(event, state, changes) {
|
|
|
126
126
|
return;
|
|
127
127
|
}
|
|
128
128
|
if (order.state != 'PENDING') {
|
|
129
|
-
throw new Error(`Order is not
|
|
129
|
+
throw new Error(`Order is not PENDING: ${order.state}`);
|
|
130
130
|
}
|
|
131
131
|
order.state = 'CANCELING';
|
|
132
132
|
order.timestamp = event.timestamp;
|
|
@@ -151,7 +151,7 @@ function OrderCanceledEventHandler(event, state, changes) {
|
|
|
151
151
|
return;
|
|
152
152
|
}
|
|
153
153
|
if (order.state != 'CANCELING') {
|
|
154
|
-
throw new Error(
|
|
154
|
+
throw new Error(`Order is not CANCELING: ${order.state}`);
|
|
155
155
|
}
|
|
156
156
|
order.state = 'CANCELED';
|
|
157
157
|
order.timestamp = event.timestamp;
|
|
@@ -195,7 +195,7 @@ exports.OrderRejectedEvent = OrderRejectedEvent;
|
|
|
195
195
|
function OrderRejectedEventHandler(event, state, changes) {
|
|
196
196
|
const order = state.order[event.id];
|
|
197
197
|
if (order.state != 'NEW') {
|
|
198
|
-
throw new Error(
|
|
198
|
+
throw new Error(`Order is not NEW: ${order.state}`);
|
|
199
199
|
}
|
|
200
200
|
order.state = 'REJECTED';
|
|
201
201
|
order.timestamp = event.timestamp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-order.event.js","sourceRoot":"","sources":["../../../src/store/event/store-order.event.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"store-order.event.js","sourceRoot":"","sources":["../../../src/store/event/store-order.event.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const shared_1 = require("../../shared");
|
|
4
3
|
const domain_1 = require("../../domain");
|
|
5
|
-
const
|
|
4
|
+
const shared_1 = require("../../shared");
|
|
6
5
|
const store_1 = require("../store");
|
|
6
|
+
const store_order_event_1 = require("./store-order.event");
|
|
7
7
|
const instrument = new domain_1.Instrument(new domain_1.Asset('btc', 'binance', 8), new domain_1.Asset('usdt', 'binance', 2), 'binance:btc-usdt');
|
|
8
8
|
describe('order load event tests', () => {
|
|
9
9
|
test('should load order to store', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-order.event.spec.js","sourceRoot":"","sources":["../../../src/store/event/store-order.event.spec.ts"],"names":[],"mappings":";;AAAA,yCAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"store-order.event.spec.js","sourceRoot":"","sources":["../../../src/store/event/store-order.event.spec.ts"],"names":[],"mappings":";;AAAA,yCAAwD;AACxD,yCAAmC;AACnC,oCAAiC;AACjC,2DAAqD;AAErD,MAAM,UAAU,GAAG,IAAI,mBAAU,CAC/B,IAAI,cAAK,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,EAC9B,IAAI,cAAK,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,EAC/B,kBAAkB,CACnB,CAAC;AAEF,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACtC,MAAM,SAAS,GAAG,IAAA,YAAG,GAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,aAAK,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,cAAK,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAE/C,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;QAExB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC;QACvE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC;QAE3E,KAAK,CAAC,QAAQ,CAAC,IAAI,kCAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QAErD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { timestamp } from '../../shared';
|
|
2
1
|
import { InstrumentSelector } from '../../domain/instrument';
|
|
2
|
+
import { timestamp } from '../../shared';
|
|
3
3
|
import { State, StateChangeTracker } from '../store.state';
|
|
4
4
|
import { StoreEvent } from './store.event';
|
|
5
5
|
export declare class OrderbookPatchEvent implements StoreEvent {
|
|
@@ -10,9 +10,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.OrderbookPatchEventHandler = exports.OrderbookPatchEvent = void 0;
|
|
13
|
-
const topic_1 = require("../../shared/topic");
|
|
14
13
|
const instrument_1 = require("../../domain/instrument");
|
|
15
14
|
const orderbook_1 = require("../../domain/orderbook");
|
|
15
|
+
const topic_1 = require("../../shared/topic");
|
|
16
16
|
let OrderbookPatchEvent = class OrderbookPatchEvent {
|
|
17
17
|
constructor(instrument, bestAskRate, bestAskQuantity, bestBidRate, bestBidQuantity, timestamp) {
|
|
18
18
|
this.instrument = instrument;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-orderbook.event.js","sourceRoot":"","sources":["../../../src/store/event/store-orderbook.event.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"store-orderbook.event.js","sourceRoot":"","sources":["../../../src/store/event/store-orderbook.event.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wDAA6D;AAC7D,sDAAmD;AAEnD,8CAA2C;AAK3C,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAG9B,YACW,UAA8B,EAC9B,WAAmB,EACnB,eAAuB,EACvB,WAAmB,EACnB,eAAuB,EACvB,SAAoB;QALpB,eAAU,GAAV,UAAU,CAAoB;QAC9B,gBAAW,GAAX,WAAW,CAAQ;QACnB,oBAAe,GAAf,eAAe,CAAQ;QACvB,gBAAW,GAAX,WAAW,CAAQ;QACnB,oBAAe,GAAf,eAAe,CAAQ;QACvB,cAAS,GAAT,SAAS,CAAW;QAR/B,SAAI,GAAG,iBAAiB,CAAC;IAStB,CAAC;CACL,CAAA;AAXY,mBAAmB;IAD/B,aAAK;qCAKmB,+BAAkB;GAJ9B,mBAAmB,CAW/B;AAXY,kDAAmB;AAahC,SAAgB,0BAA0B,CACxC,KAA0B,EAC1B,KAAY,EACZ,OAA2B;IAE3B,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IAElD,IAAI,CAAC,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;QACrD,MAAM,IAAI,KAAK,CAAC,4CAA4C,aAAa,EAAE,CAAC,CAAC;KAC9E;IAED,IAAI,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAE/C,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAE5D,SAAS,GAAG,IAAI,qBAAS,CAAC,UAAU,CAAC,CAAC;QAEtC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;KAC5C;IAED,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAElC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACtC,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5E,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACnF,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5E,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAEnF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEnE,IAAI,KAAK,EAAE;QACT,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACpD,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,SAAS,CAAC,QAAQ,EAAE,EAAE;gBAC1D,SAAS;aACV;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC;YAEhF,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SAC7B;QAED,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;SAC/B;KACF;IAED,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC5B,CAAC;AAhDD,gEAgDC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { Instrument, Position, PositionMode } from '../../domain';
|
|
1
2
|
import { timestamp } from '../../shared';
|
|
2
|
-
import { Position, Instrument, PositionMode } from '../../domain';
|
|
3
3
|
import { State, StateChangeTracker } from '../store.state';
|
|
4
4
|
import { StoreEvent } from './store.event';
|
|
5
5
|
export declare class PositionLoadEvent implements StoreEvent {
|
|
@@ -10,8 +10,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.PositionPatchEventHandler = exports.PositionPatchEvent = exports.PositionLoadEventHandler = exports.PositionLoadEvent = void 0;
|
|
13
|
-
const topic_1 = require("../../shared/topic");
|
|
14
13
|
const domain_1 = require("../../domain");
|
|
14
|
+
const topic_1 = require("../../shared/topic");
|
|
15
15
|
let PositionLoadEvent = class PositionLoadEvent {
|
|
16
16
|
constructor(position, timestamp) {
|
|
17
17
|
this.position = position;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-position.event.js","sourceRoot":"","sources":["../../../src/store/event/store-position.event.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"store-position.event.js","sourceRoot":"","sources":["../../../src/store/event/store-position.event.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { timestamp } from '../../shared';
|
|
2
1
|
import { InstrumentSelector } from '../../domain/instrument';
|
|
2
|
+
import { timestamp } from '../../shared';
|
|
3
3
|
import { State, StateChangeTracker } from '../store.state';
|
|
4
4
|
import { StoreEvent } from './store.event';
|
|
5
5
|
export declare class TradePatchEvent implements StoreEvent {
|
|
@@ -10,9 +10,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.TradePatchEventHandler = exports.TradePatchEvent = void 0;
|
|
13
|
-
const topic_1 = require("../../shared/topic");
|
|
14
13
|
const domain_1 = require("../../domain");
|
|
15
14
|
const instrument_1 = require("../../domain/instrument");
|
|
15
|
+
const topic_1 = require("../../shared/topic");
|
|
16
16
|
let TradePatchEvent = class TradePatchEvent {
|
|
17
17
|
constructor(instrument, rate, quantity, timestamp) {
|
|
18
18
|
this.instrument = instrument;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-trade.event.js","sourceRoot":"","sources":["../../../src/store/event/store-trade.event.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"store-trade.event.js","sourceRoot":"","sources":["../../../src/store/event/store-trade.event.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAqC;AACrC,wDAA6D;AAE7D,8CAA2C;AAQ3C,IAAa,eAAe,GAA5B,MAAa,eAAe;IAG1B,YACW,UAA8B,EAC9B,IAAY,EACZ,QAAgB,EAChB,SAAoB;QAHpB,eAAU,GAAV,UAAU,CAAoB;QAC9B,SAAI,GAAJ,IAAI,CAAQ;QACZ,aAAQ,GAAR,QAAQ,CAAQ;QAChB,cAAS,GAAT,SAAS,CAAW;QAN/B,SAAI,GAAG,aAAa,CAAC;IAOlB,CAAC;CACL,CAAA;AATY,eAAe;IAD3B,aAAK;qCAKmB,+BAAkB;GAJ9B,eAAe,CAS3B;AATY,0CAAe;AAe5B,SAAgB,sBAAsB,CACpC,KAAsB,EACtB,KAAY,EACZ,OAA2B;IAE3B,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IAElD,IAAI,CAAC,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;QACrD,MAAM,IAAI,KAAK,CAAC,4CAA4C,aAAa,EAAE,CAAC,CAAC;KAC9E;IAED,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE;QACV,KAAK,GAAG,IAAI,cAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;QAE5D,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;KACpC;IAED,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAElC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtD,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAzBD,wDAyBC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const domain_1 = require("../../domain");
|
|
4
3
|
const _1 = require(".");
|
|
5
|
-
const shared_1 = require("../../shared");
|
|
6
4
|
const __1 = require("..");
|
|
5
|
+
const domain_1 = require("../../domain");
|
|
6
|
+
const shared_1 = require("../../shared");
|
|
7
7
|
const instrument = new domain_1.Instrument(new domain_1.Asset('btc', 'binance', 8), new domain_1.Asset('usdt', 'binance', 2), 'binance:btc-usdt');
|
|
8
8
|
describe('trade patch event tests', () => {
|
|
9
9
|
test('should create a new trade object and patch a store', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-trade.event.spec.js","sourceRoot":"","sources":["../../../src/store/event/store-trade.event.spec.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"store-trade.event.spec.js","sourceRoot":"","sources":["../../../src/store/event/store-trade.event.spec.ts"],"names":[],"mappings":"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"}
|
package/dist/store/index.d.ts
CHANGED
package/dist/store/index.js
CHANGED
|
@@ -10,6 +10,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
10
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./event"), exports);
|
|
13
14
|
__exportStar(require("./store"), exports);
|
|
14
15
|
__exportStar(require("./store.state"), exports);
|
|
15
16
|
//# sourceMappingURL=index.js.map
|
package/dist/store/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAwB;AACxB,gDAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB;AACxB,gDAA8B"}
|
package/dist/store/store.d.ts
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
-
import { State, StateChangeTracker } from './store.state';
|
|
3
2
|
import { Component } from '../domain';
|
|
4
|
-
import { StoreEvent } from './event/store.event';
|
|
5
3
|
import { Topic } from '../shared/topic';
|
|
6
|
-
import { TradePatchEvent } from './event
|
|
7
|
-
import {
|
|
4
|
+
import { BalanceFreezEvent, BalancePatchEvent, BalanceTransactEvent, BalanceUnfreezEvent, CandleEvent, InstrumentPatchEvent, InstrumentSubscriptionEvent, OrderbookPatchEvent, OrderCanceledEvent, OrderCancelFailedEvent, OrderCancelingEvent, OrderFilledEvent, OrderLoadEvent, OrderNewEvent, OrderPendingEvent, OrderRejectedEvent, PositionLoadEvent, PositionPatchEvent, StoreEvent, TradePatchEvent } from './event';
|
|
5
|
+
import { State, StateChangeTracker } from './store.state';
|
|
8
6
|
export declare class Store extends Topic<StoreEvent, any> implements StateChangeTracker {
|
|
9
7
|
private readonly pendingChanges;
|
|
10
8
|
private readonly changes;
|
|
11
9
|
private readonly state;
|
|
12
|
-
get state$(): Observable<State>;
|
|
13
10
|
get changes$(): Observable<Component>;
|
|
14
11
|
get snapshot(): State;
|
|
15
12
|
dispatch(...events: StoreEvent[]): void;
|
package/dist/store/store.js
CHANGED
|
@@ -11,11 +11,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.Store = void 0;
|
|
13
13
|
const rxjs_1 = require("rxjs");
|
|
14
|
-
const store_state_1 = require("./store.state");
|
|
15
14
|
const typescript_collections_1 = require("typescript-collections");
|
|
16
15
|
const topic_1 = require("../shared/topic");
|
|
17
|
-
const store_trade_event_1 = require("./event/store-trade.event");
|
|
18
16
|
const event_1 = require("./event");
|
|
17
|
+
const store_state_1 = require("./store.state");
|
|
19
18
|
class Store extends topic_1.Topic {
|
|
20
19
|
constructor() {
|
|
21
20
|
super(...arguments);
|
|
@@ -23,9 +22,6 @@ class Store extends topic_1.Topic {
|
|
|
23
22
|
this.changes = new rxjs_1.Subject();
|
|
24
23
|
this.state = new rxjs_1.BehaviorSubject(new store_state_1.State());
|
|
25
24
|
}
|
|
26
|
-
get state$() {
|
|
27
|
-
return this.state.asObservable();
|
|
28
|
-
}
|
|
29
25
|
get changes$() {
|
|
30
26
|
return this.changes.asObservable();
|
|
31
27
|
}
|
|
@@ -101,7 +97,7 @@ class Store extends topic_1.Topic {
|
|
|
101
97
|
return (0, event_1.PositionPatchEventHandler)(event, this.snapshot, this);
|
|
102
98
|
}
|
|
103
99
|
onTradePatch(event) {
|
|
104
|
-
return (0,
|
|
100
|
+
return (0, event_1.TradePatchEventHandler)(event, this.snapshot, this);
|
|
105
101
|
}
|
|
106
102
|
onCandle(event) {
|
|
107
103
|
return (0, event_1.CandleEventHandler)(event, this.snapshot, this);
|
|
@@ -210,9 +206,9 @@ __decorate([
|
|
|
210
206
|
__metadata("design:returntype", void 0)
|
|
211
207
|
], Store.prototype, "onPositionPatch", null);
|
|
212
208
|
__decorate([
|
|
213
|
-
(0, topic_1.handler)(
|
|
209
|
+
(0, topic_1.handler)(event_1.TradePatchEvent),
|
|
214
210
|
__metadata("design:type", Function),
|
|
215
|
-
__metadata("design:paramtypes", [
|
|
211
|
+
__metadata("design:paramtypes", [event_1.TradePatchEvent]),
|
|
216
212
|
__metadata("design:returntype", void 0)
|
|
217
213
|
], Store.prototype, "onTradePatch", null);
|
|
218
214
|
__decorate([
|
package/dist/store/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAA4D;AAC5D
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { Asset, AssetSelector, Balance, Component, Instrument, InstrumentSelector, Order, Orderbook, Trade } from '../domain';
|
|
1
2
|
import { timestamp } from '../shared';
|
|
2
|
-
import { Instrument, Balance, Order, Orderbook, Asset, Trade, AssetSelector, InstrumentSelector, Component } from '../domain';
|
|
3
3
|
export interface StateChangeTracker {
|
|
4
4
|
commit(component: Component): any;
|
|
5
5
|
commitPendingChanges(): any;
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const domain_1 = require("../domain");
|
|
4
|
-
const storage_1 = require("../storage");
|
|
5
|
-
const store_1 = require("../store");
|
|
6
|
-
const event_1 = require("../store/event");
|
|
7
3
|
const adapter_1 = require("../adapter/adapter");
|
|
8
|
-
const paper_1 = require("../adapter/paper");
|
|
9
4
|
const backtester_adapter_1 = require("../adapter/backtester/backtester-adapter");
|
|
10
5
|
const backtester_streamer_1 = require("../adapter/backtester/backtester-streamer");
|
|
6
|
+
const paper_1 = require("../adapter/paper");
|
|
7
|
+
const domain_1 = require("../domain");
|
|
8
|
+
const storage_1 = require("../storage");
|
|
9
|
+
const store_1 = require("../store");
|
|
11
10
|
const base = new domain_1.Asset('btc', 'binance', 8);
|
|
12
11
|
const quote = new domain_1.Asset('usdt', 'binance', 4);
|
|
13
12
|
class DefaultAdapter extends adapter_1.Adapter {
|
|
@@ -18,12 +17,12 @@ class DefaultAdapter extends adapter_1.Adapter {
|
|
|
18
17
|
timestamp() {
|
|
19
18
|
return 123;
|
|
20
19
|
}
|
|
21
|
-
|
|
22
|
-
return new paper_1.
|
|
20
|
+
createPaperSimulator(adapter) {
|
|
21
|
+
return new paper_1.PaperSpotSimulator(adapter);
|
|
23
22
|
}
|
|
24
23
|
async awake(context) {
|
|
25
24
|
await super.awake(context);
|
|
26
|
-
context.dispatch(new
|
|
25
|
+
context.dispatch(new store_1.InstrumentPatchEvent(context.timestamp, base, quote, new domain_1.Commission(0.1, 0.1), 'btc-usdt'));
|
|
27
26
|
}
|
|
28
27
|
}
|
|
29
28
|
const instrument = (0, domain_1.instrumentOf)('binance:btc-usdt');
|
|
@@ -33,9 +32,6 @@ const feed = new storage_1.Feed(new storage_1.InMemoryStorage());
|
|
|
33
32
|
describe('backtester adapter tests', () => {
|
|
34
33
|
test('should return proper adapter name and timestamp', () => {
|
|
35
34
|
const sut = new backtester_adapter_1.BacktesterAdapter(adapter, new backtester_streamer_1.BacktesterStreamer(store, feed, {
|
|
36
|
-
balance: {
|
|
37
|
-
['binance:usdt']: 1000
|
|
38
|
-
},
|
|
39
35
|
from: 1,
|
|
40
36
|
to: 100
|
|
41
37
|
}));
|
|
@@ -44,9 +40,6 @@ describe('backtester adapter tests', () => {
|
|
|
44
40
|
});
|
|
45
41
|
test('should stream data from input array', done => {
|
|
46
42
|
const streamer = new backtester_streamer_1.BacktesterStreamer(store, feed, {
|
|
47
|
-
balance: {
|
|
48
|
-
['binance:usdt']: 1000
|
|
49
|
-
},
|
|
50
43
|
from: 0,
|
|
51
44
|
to: 100
|
|
52
45
|
}, {
|
|
@@ -57,7 +50,7 @@ describe('backtester adapter tests', () => {
|
|
|
57
50
|
done();
|
|
58
51
|
}
|
|
59
52
|
});
|
|
60
|
-
feed.save(instrument, [new
|
|
53
|
+
feed.save(instrument, [new store_1.TradePatchEvent(instrument, 100, 10, 1)]);
|
|
61
54
|
const sut = new backtester_adapter_1.BacktesterAdapter(adapter, streamer);
|
|
62
55
|
sut.awake(new adapter_1.AdapterContext(sut, store));
|
|
63
56
|
sut.subscribe([instrument]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backtester-adapter.spec.js","sourceRoot":"","sources":["../../src/tests/backtester-adapter.spec.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"backtester-adapter.spec.js","sourceRoot":"","sources":["../../src/tests/backtester-adapter.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|