@stoqey/ib 1.3.10 → 1.3.12
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/api/api.d.ts +10 -7
- package/dist/api/api.js +8 -5
- package/dist/api/api.js.map +1 -1
- package/dist/api/contract/future.d.ts +2 -2
- package/dist/api/contract/future.js +1 -0
- package/dist/api/contract/future.js.map +1 -1
- package/dist/api/contract/ind.d.ts +1 -3
- package/dist/api/contract/ind.js +2 -4
- package/dist/api/contract/ind.js.map +1 -1
- package/dist/api/historical/bar-size-setting.d.ts +2 -2
- package/dist/api/historical/bar-size-setting.js +2 -2
- package/dist/api/historical/bar-size-setting.js.map +1 -1
- package/dist/api/market-scanner/market-scanner.d.ts +206 -0
- package/dist/api/market-scanner/market-scanner.js +218 -0
- package/dist/api/market-scanner/market-scanner.js.map +1 -0
- package/dist/api-next/api-next.d.ts +2 -2
- package/dist/api-next/api-next.js +2 -2
- package/dist/api-next/index.d.ts +10 -9
- package/dist/api-next/index.js +0 -1
- package/dist/api-next/index.js.map +1 -1
- package/dist/api-next/market-scanner/market-scanner.d.ts +1 -206
- package/dist/api-next/market-scanner/market-scanner.js +6 -215
- package/dist/api-next/market-scanner/market-scanner.js.map +1 -1
- package/dist/common/errorCode.d.ts +2 -0
- package/dist/common/errorCode.js +2 -0
- package/dist/common/errorCode.js.map +1 -1
- package/dist/core/io/controller.js +1 -1
- package/dist/core/io/controller.js.map +1 -1
- package/dist/core/io/encoder.d.ts +2 -2
- package/dist/core/io/encoder.js.map +1 -1
- package/dist/core/io/socket.d.ts +11 -2
- package/dist/core/io/socket.js +22 -7
- package/dist/core/io/socket.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +10 -5
- package/dist/index.js.map +1 -1
- package/dist/tests/unit/api/api.test.js +7 -29
- package/dist/tests/unit/api/api.test.js.map +1 -1
- package/dist/tests/unit/api/connect.test.js +1 -1
- package/dist/tests/unit/api/connect.test.js.map +1 -1
- package/dist/tests/unit/api/contract-details.test.js +58 -29
- package/dist/tests/unit/api/contract-details.test.js.map +1 -1
- package/dist/tests/unit/api/historical-data.test.d.ts +1 -0
- package/dist/tests/unit/api/historical-data.test.js +215 -0
- package/dist/tests/unit/api/historical-data.test.js.map +1 -0
- package/dist/tests/unit/api/market-data.test.js +111 -10
- package/dist/tests/unit/api/market-data.test.js.map +1 -1
- package/dist/tests/unit/api/market-scanner.test.js +13 -15
- package/dist/tests/unit/api/market-scanner.test.js.map +1 -1
- package/dist/tests/unit/api/matching-symbols.test.js +14 -15
- package/dist/tests/unit/api/matching-symbols.test.js.map +1 -1
- package/dist/tests/unit/api/order/cancelOrder.test.js +1 -6
- package/dist/tests/unit/api/order/cancelOrder.test.js.map +1 -1
- package/dist/tests/unit/api/order/placeOrder.test.js +8 -22
- package/dist/tests/unit/api/order/placeOrder.test.js.map +1 -1
- package/dist/tests/unit/api/wsh-event-data.test.js +20 -23
- package/dist/tests/unit/api/wsh-event-data.test.js.map +1 -1
- package/dist/tests/unit/api-next/get-matching-symbols.test.d.ts +4 -0
- package/dist/tests/unit/api-next/{get-matching-symbols.js → get-matching-symbols.test.js} +2 -2
- package/dist/tests/unit/api-next/get-matching-symbols.test.js.map +1 -0
- package/dist/tests/unit/api-next/place-order.test.js +1 -6
- package/dist/tests/unit/api-next/place-order.test.js.map +1 -1
- package/dist/tests/unit/api-next/subscription-registry.test.d.ts +1 -0
- package/dist/tests/unit/api-next/subscription-registry.test.js +67 -0
- package/dist/tests/unit/api-next/subscription-registry.test.js.map +1 -0
- package/dist/tools/open-orders-all.d.ts +4 -0
- package/dist/tools/open-orders-all.js +45 -0
- package/dist/tools/open-orders-all.js.map +1 -0
- package/dist/tools/open-orders-auto.js +2 -2
- package/dist/tools/open-orders-auto.js.map +1 -1
- package/dist/tools/open-orders.d.ts +1 -1
- package/dist/tools/open-orders.js +16 -12
- package/dist/tools/open-orders.js.map +1 -1
- package/package.json +7 -7
- package/dist/tests/unit/api-next/get-matching-symbols.d.ts +0 -4
- package/dist/tests/unit/api-next/get-matching-symbols.js.map +0 -1
|
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
const __1 = require("../../..");
|
|
10
10
|
const configuration_1 = __importDefault(require("../../../common/configuration"));
|
|
11
11
|
describe("IBApi Market data Tests", () => {
|
|
12
|
-
jest.setTimeout(
|
|
12
|
+
jest.setTimeout(15 * 1000);
|
|
13
13
|
let ib;
|
|
14
14
|
const clientId = Math.floor(Math.random() * 32766) + 1; // ensure unique client
|
|
15
15
|
beforeEach(() => {
|
|
@@ -27,16 +27,13 @@ describe("IBApi Market data Tests", () => {
|
|
|
27
27
|
}
|
|
28
28
|
// logger.info("IBApi disconnected");
|
|
29
29
|
});
|
|
30
|
+
const IsError = (code) => code !== __1.ErrorCode.REQ_MKT_DATA_NOT_AVAIL &&
|
|
31
|
+
code !== __1.ErrorCode.DISPLAYING_DELAYED_DATA;
|
|
30
32
|
it("Stock market data", (done) => {
|
|
31
|
-
const refId =
|
|
33
|
+
const refId = 45;
|
|
32
34
|
let received = false;
|
|
33
35
|
ib.once(__1.EventName.connected, () => {
|
|
34
|
-
const contract =
|
|
35
|
-
symbol: "SPY",
|
|
36
|
-
currency: "USD",
|
|
37
|
-
secType: __1.SecType.STK,
|
|
38
|
-
exchange: "SMART",
|
|
39
|
-
};
|
|
36
|
+
const contract = new __1.Stock("AAPL");
|
|
40
37
|
ib.reqMktData(refId, contract, "", true, false);
|
|
41
38
|
})
|
|
42
39
|
.on(__1.EventName.tickPrice, (reqId, _field, _value) => {
|
|
@@ -53,10 +50,36 @@ describe("IBApi Market data Tests", () => {
|
|
|
53
50
|
done("Didn't get any result");
|
|
54
51
|
})
|
|
55
52
|
.on(__1.EventName.error, (err, code, reqId) => {
|
|
53
|
+
if (IsError(code))
|
|
54
|
+
done(`[${reqId}] ${err.message} (#${code})`);
|
|
55
|
+
});
|
|
56
|
+
ib.connect().reqMarketDataType(__1.MarketDataType.DELAYED_FROZEN);
|
|
57
|
+
});
|
|
58
|
+
it("SPY market data", (done) => {
|
|
59
|
+
const refId = 46;
|
|
60
|
+
let received = false;
|
|
61
|
+
ib.once(__1.EventName.connected, () => {
|
|
62
|
+
const contract = new __1.Stock("SPY");
|
|
63
|
+
ib.reqMktData(refId, contract, "", true, false);
|
|
64
|
+
})
|
|
65
|
+
.on(__1.EventName.tickPrice, (reqId, _field, _value) => {
|
|
66
|
+
expect(reqId).toEqual(refId);
|
|
56
67
|
if (reqId == refId)
|
|
68
|
+
received = true;
|
|
69
|
+
// console.log(_field, _value);
|
|
70
|
+
})
|
|
71
|
+
.on(__1.EventName.tickSnapshotEnd, (reqId) => {
|
|
72
|
+
expect(reqId).toEqual(refId);
|
|
73
|
+
if (received)
|
|
74
|
+
done();
|
|
75
|
+
else
|
|
76
|
+
done("Didn't get any result");
|
|
77
|
+
})
|
|
78
|
+
.on(__1.EventName.error, (err, code, reqId) => {
|
|
79
|
+
if (IsError(code))
|
|
57
80
|
done(`[${reqId}] ${err.message} (#${code})`);
|
|
58
81
|
});
|
|
59
|
-
ib.connect();
|
|
82
|
+
ib.connect().reqMarketDataType(__1.MarketDataType.DELAYED_FROZEN);
|
|
60
83
|
});
|
|
61
84
|
test("Option market data", (done) => {
|
|
62
85
|
const refId = 47;
|
|
@@ -78,10 +101,88 @@ describe("IBApi Market data Tests", () => {
|
|
|
78
101
|
done("Didn't get any result");
|
|
79
102
|
})
|
|
80
103
|
.on(__1.EventName.error, (err, code, reqId) => {
|
|
104
|
+
if (IsError(code))
|
|
105
|
+
done(`[${reqId}] ${err.message} (#${code})`);
|
|
106
|
+
});
|
|
107
|
+
ib.connect().reqMarketDataType(__1.MarketDataType.DELAYED_FROZEN);
|
|
108
|
+
});
|
|
109
|
+
it("Future market data", (done) => {
|
|
110
|
+
const refId = 48;
|
|
111
|
+
let received = false;
|
|
112
|
+
ib.once(__1.EventName.connected, () => {
|
|
113
|
+
const contract = new __1.Future("ES", "ESZ3", "202312", "CME", 50);
|
|
114
|
+
ib.reqMktData(refId, contract, "", true, false);
|
|
115
|
+
})
|
|
116
|
+
.on(__1.EventName.tickPrice, (reqId, _field, _value) => {
|
|
117
|
+
expect(reqId).toEqual(refId);
|
|
118
|
+
if (reqId == refId)
|
|
119
|
+
received = true;
|
|
120
|
+
// console.log(_field, _value);
|
|
121
|
+
})
|
|
122
|
+
.on(__1.EventName.tickSnapshotEnd, (reqId) => {
|
|
123
|
+
expect(reqId).toEqual(refId);
|
|
124
|
+
if (received)
|
|
125
|
+
done();
|
|
126
|
+
else
|
|
127
|
+
done("Didn't get any result");
|
|
128
|
+
})
|
|
129
|
+
.on(__1.EventName.error, (err, code, reqId) => {
|
|
130
|
+
if (IsError(code))
|
|
131
|
+
done(`[${reqId}] ${err.message} (#${code})`);
|
|
132
|
+
});
|
|
133
|
+
ib.connect().reqMarketDataType(__1.MarketDataType.DELAYED_FROZEN);
|
|
134
|
+
});
|
|
135
|
+
it("DAX market data", (done) => {
|
|
136
|
+
const refId = 49;
|
|
137
|
+
let received = false;
|
|
138
|
+
ib.once(__1.EventName.connected, () => {
|
|
139
|
+
const contract = new __1.Index("DAX", "EUR", "EUREX");
|
|
140
|
+
ib.reqMktData(refId, contract, "", true, false);
|
|
141
|
+
})
|
|
142
|
+
.on(__1.EventName.tickPrice, (reqId, _field, _value) => {
|
|
143
|
+
expect(reqId).toEqual(refId);
|
|
144
|
+
if (reqId == refId)
|
|
145
|
+
received = true;
|
|
146
|
+
// console.log(_field, _value);
|
|
147
|
+
})
|
|
148
|
+
.on(__1.EventName.tickSnapshotEnd, (reqId) => {
|
|
149
|
+
expect(reqId).toEqual(refId);
|
|
150
|
+
if (received)
|
|
151
|
+
done();
|
|
152
|
+
else
|
|
153
|
+
done("Didn't get any result");
|
|
154
|
+
})
|
|
155
|
+
.on(__1.EventName.error, (err, code, reqId) => {
|
|
156
|
+
if (IsError(code))
|
|
157
|
+
done(`[${reqId}] ${err.message} (#${code})`);
|
|
158
|
+
});
|
|
159
|
+
ib.connect().reqMarketDataType(__1.MarketDataType.DELAYED_FROZEN);
|
|
160
|
+
});
|
|
161
|
+
it("Index market data", (done) => {
|
|
162
|
+
const refId = 50;
|
|
163
|
+
let received = false;
|
|
164
|
+
ib.once(__1.EventName.connected, () => {
|
|
165
|
+
const contract = new __1.Index("ES");
|
|
166
|
+
ib.reqMktData(refId, contract, "", true, false);
|
|
167
|
+
})
|
|
168
|
+
.on(__1.EventName.tickPrice, (reqId, _field, _value) => {
|
|
169
|
+
expect(reqId).toEqual(refId);
|
|
81
170
|
if (reqId == refId)
|
|
171
|
+
received = true;
|
|
172
|
+
// console.log(_field, _value);
|
|
173
|
+
})
|
|
174
|
+
.on(__1.EventName.tickSnapshotEnd, (reqId) => {
|
|
175
|
+
expect(reqId).toEqual(refId);
|
|
176
|
+
if (received)
|
|
177
|
+
done();
|
|
178
|
+
else
|
|
179
|
+
done("Didn't get any result");
|
|
180
|
+
})
|
|
181
|
+
.on(__1.EventName.error, (err, code, reqId) => {
|
|
182
|
+
if (IsError(code))
|
|
82
183
|
done(`[${reqId}] ${err.message} (#${code})`);
|
|
83
184
|
});
|
|
84
|
-
ib.connect();
|
|
185
|
+
ib.connect().reqMarketDataType(__1.MarketDataType.DELAYED_FROZEN);
|
|
85
186
|
});
|
|
86
187
|
});
|
|
87
188
|
//# sourceMappingURL=market-data.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market-data.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/api/market-data.test.ts"],"names":[],"mappings":";;;;;AAAA;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"market-data.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/api/market-data.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,16 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
7
|
-
const api_1 = require("../../../api/api");
|
|
8
|
-
const event_name_1 = require("../../../api/data/enum/event-name");
|
|
6
|
+
const __1 = require("../../..");
|
|
9
7
|
const configuration_1 = __importDefault(require("../../../common/configuration"));
|
|
10
8
|
describe("IBApi market scanner tests", () => {
|
|
11
9
|
jest.setTimeout(5000);
|
|
12
10
|
let ib;
|
|
13
11
|
const clientId = Math.floor(Math.random() * 32766) + 1; // ensure unique client
|
|
14
12
|
beforeEach(() => {
|
|
15
|
-
ib = new
|
|
13
|
+
ib = new __1.IBApi({
|
|
16
14
|
host: configuration_1.default.ib_host,
|
|
17
15
|
port: configuration_1.default.ib_port,
|
|
18
16
|
clientId,
|
|
@@ -25,15 +23,15 @@ describe("IBApi market scanner tests", () => {
|
|
|
25
23
|
}
|
|
26
24
|
});
|
|
27
25
|
test("Scanner parameters", (done) => {
|
|
28
|
-
ib.on(
|
|
26
|
+
ib.on(__1.EventName.scannerParameters, (xml) => {
|
|
29
27
|
const match = '<?xml version="1.0" encoding="UTF-8"?>'; // eslint-disable-line quotes
|
|
30
28
|
expect(xml.substring(0, match.length)).toEqual(match);
|
|
31
29
|
ib.disconnect();
|
|
32
30
|
})
|
|
33
|
-
.on(
|
|
31
|
+
.on(__1.EventName.disconnected, () => {
|
|
34
32
|
done();
|
|
35
33
|
})
|
|
36
|
-
.on(
|
|
34
|
+
.on(__1.EventName.error, (err, code, reqId) => {
|
|
37
35
|
if (reqId !== -1)
|
|
38
36
|
done(`[${reqId}] ${err.message} (#${code})`);
|
|
39
37
|
});
|
|
@@ -41,27 +39,27 @@ describe("IBApi market scanner tests", () => {
|
|
|
41
39
|
});
|
|
42
40
|
test("Most active US stocks", (done) => {
|
|
43
41
|
const refId = 1;
|
|
44
|
-
ib.once(
|
|
42
|
+
ib.once(__1.EventName.nextValidId, (_reqId) => {
|
|
45
43
|
ib.reqScannerSubscription(refId, {
|
|
46
44
|
abovePrice: 1,
|
|
47
|
-
scanCode:
|
|
48
|
-
locationCode:
|
|
49
|
-
instrument:
|
|
45
|
+
scanCode: __1.ScanCode.MOST_ACTIVE,
|
|
46
|
+
locationCode: __1.LocationCode.STK_US,
|
|
47
|
+
instrument: __1.Instrument.STK,
|
|
50
48
|
numberOfRows: 20,
|
|
51
49
|
});
|
|
52
50
|
})
|
|
53
|
-
.on(
|
|
51
|
+
.on(__1.EventName.scannerData, (reqId, _rank, _contract, _distance, _benchmark, _projection, _legStr) => {
|
|
54
52
|
expect(reqId).toEqual(refId);
|
|
55
53
|
})
|
|
56
|
-
.on(
|
|
54
|
+
.on(__1.EventName.scannerDataEnd, (reqId) => {
|
|
57
55
|
expect(reqId).toEqual(refId);
|
|
58
56
|
if (ib)
|
|
59
57
|
ib.disconnect();
|
|
60
58
|
})
|
|
61
|
-
.on(
|
|
59
|
+
.on(__1.EventName.disconnected, () => {
|
|
62
60
|
done();
|
|
63
61
|
})
|
|
64
|
-
.on(
|
|
62
|
+
.on(__1.EventName.error, (err, code, reqId) => {
|
|
65
63
|
if (reqId == refId)
|
|
66
64
|
done(`[${reqId}] ${err.message} (#${code})`);
|
|
67
65
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market-scanner.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/api/market-scanner.test.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"market-scanner.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/api/market-scanner.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,15 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
7
|
-
const event_name_1 = require("../../../api/data/enum/event-name");
|
|
6
|
+
const __1 = require("../../..");
|
|
8
7
|
const configuration_1 = __importDefault(require("../../../common/configuration"));
|
|
9
8
|
describe("IBApi reqMatchingSymbols Tests", () => {
|
|
10
9
|
jest.setTimeout(5000);
|
|
11
10
|
let ib;
|
|
12
11
|
const clientId = Math.floor(Math.random() * 32766) + 1; // ensure unique client
|
|
13
12
|
beforeEach(() => {
|
|
14
|
-
ib = new
|
|
13
|
+
ib = new __1.IBApi({
|
|
15
14
|
host: configuration_1.default.ib_host,
|
|
16
15
|
port: configuration_1.default.ib_port,
|
|
17
16
|
clientId,
|
|
@@ -25,18 +24,18 @@ describe("IBApi reqMatchingSymbols Tests", () => {
|
|
|
25
24
|
});
|
|
26
25
|
test("SPY", (done) => {
|
|
27
26
|
const refId = 1;
|
|
28
|
-
ib.once(
|
|
27
|
+
ib.once(__1.EventName.nextValidId, (_reqId) => {
|
|
29
28
|
ib.reqMatchingSymbols(refId, "SPY");
|
|
30
29
|
})
|
|
31
|
-
.on(
|
|
30
|
+
.on(__1.EventName.symbolSamples, (reqId, contractDescriptions) => {
|
|
32
31
|
expect(reqId).toEqual(refId);
|
|
33
32
|
expect(contractDescriptions[0].contract.symbol).toEqual("SPY");
|
|
34
33
|
ib.disconnect();
|
|
35
34
|
})
|
|
36
|
-
.on(
|
|
35
|
+
.on(__1.EventName.disconnected, () => {
|
|
37
36
|
done();
|
|
38
37
|
})
|
|
39
|
-
.on(
|
|
38
|
+
.on(__1.EventName.error, (err, code, reqId) => {
|
|
40
39
|
if (reqId == refId)
|
|
41
40
|
done(`[${reqId}] ${err.message} (#${code})`);
|
|
42
41
|
});
|
|
@@ -44,18 +43,18 @@ describe("IBApi reqMatchingSymbols Tests", () => {
|
|
|
44
43
|
});
|
|
45
44
|
test("META", (done) => {
|
|
46
45
|
const refId = 2;
|
|
47
|
-
ib.once(
|
|
46
|
+
ib.once(__1.EventName.nextValidId, (_reqId) => {
|
|
48
47
|
ib.reqMatchingSymbols(refId, "META");
|
|
49
48
|
})
|
|
50
|
-
.on(
|
|
49
|
+
.on(__1.EventName.symbolSamples, (reqId, contractDescriptions) => {
|
|
51
50
|
expect(reqId).toEqual(refId);
|
|
52
51
|
expect(contractDescriptions[0].contract.symbol).toEqual("META");
|
|
53
52
|
ib.disconnect();
|
|
54
53
|
})
|
|
55
|
-
.on(
|
|
54
|
+
.on(__1.EventName.disconnected, () => {
|
|
56
55
|
done();
|
|
57
56
|
})
|
|
58
|
-
.on(
|
|
57
|
+
.on(__1.EventName.error, (err, code, reqId) => {
|
|
59
58
|
if (reqId == refId)
|
|
60
59
|
done(`[${reqId}] ${err.message} (#${code})`);
|
|
61
60
|
});
|
|
@@ -63,18 +62,18 @@ describe("IBApi reqMatchingSymbols Tests", () => {
|
|
|
63
62
|
});
|
|
64
63
|
test("AMC", (done) => {
|
|
65
64
|
const refId = 3;
|
|
66
|
-
ib.once(
|
|
65
|
+
ib.once(__1.EventName.nextValidId, (_reqId) => {
|
|
67
66
|
ib.reqMatchingSymbols(refId, "AMC");
|
|
68
67
|
})
|
|
69
|
-
.on(
|
|
68
|
+
.on(__1.EventName.symbolSamples, (reqId, contractDescriptions) => {
|
|
70
69
|
expect(reqId).toEqual(refId);
|
|
71
70
|
expect(contractDescriptions[0].contract.symbol).toEqual("AMC");
|
|
72
71
|
ib.disconnect();
|
|
73
72
|
})
|
|
74
|
-
.on(
|
|
73
|
+
.on(__1.EventName.disconnected, () => {
|
|
75
74
|
done();
|
|
76
75
|
})
|
|
77
|
-
.on(
|
|
76
|
+
.on(__1.EventName.error, (err, code, reqId) => {
|
|
78
77
|
if (reqId == refId)
|
|
79
78
|
done(`[${reqId}] ${err.message} (#${code})`);
|
|
80
79
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matching-symbols.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/api/matching-symbols.test.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"matching-symbols.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/api/matching-symbols.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,12 +30,7 @@ describe("CancelOrder", () => {
|
|
|
30
30
|
});
|
|
31
31
|
test("cancelOrder", (done) => {
|
|
32
32
|
let refId;
|
|
33
|
-
const contract =
|
|
34
|
-
symbol: "AAPL",
|
|
35
|
-
exchange: "SMART",
|
|
36
|
-
currency: "USD",
|
|
37
|
-
secType: __1.SecType.STK,
|
|
38
|
-
};
|
|
33
|
+
const contract = new __1.Stock("SPY");
|
|
39
34
|
const order = {
|
|
40
35
|
orderType: __1.OrderType.LMT,
|
|
41
36
|
action: __1.OrderAction.BUY,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancelOrder.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/api/order/cancelOrder.test.ts"],"names":[],"mappings":";;;;;AAAA;;GAEG;AACH,mCAUqB;AACrB,qFAA6D;AAC7D,uEAA+C;AAE/C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAE3B,IAAI,EAAS,CAAC;IACd,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,uBAAuB;IAE7E,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,GAAG,IAAI,SAAK,CAAC;YACb,IAAI,EAAE,uBAAa,CAAC,OAAO;YAC3B,IAAI,EAAE,uBAAa,CAAC,OAAO;YAC3B,QAAQ,EAAE,QAAQ,EAAE,EAAE,yEAAyE;SAChG,CAAC,CAAC;QACH,gCAAgC;IAClC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,EAAE,EAAE;YACN,EAAE,CAAC,UAAU,EAAE,CAAC;YAChB,EAAE,GAAG,SAAS,CAAC;SAChB;QACD,qCAAqC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,KAAa,CAAC;QAElB,MAAM,QAAQ,GAAa
|
|
1
|
+
{"version":3,"file":"cancelOrder.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/api/order/cancelOrder.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,12 +30,7 @@ describe("Place Orders", () => {
|
|
|
30
30
|
});
|
|
31
31
|
test("Simple placeOrder", (done) => {
|
|
32
32
|
let refId;
|
|
33
|
-
const contract =
|
|
34
|
-
symbol: "AAPL",
|
|
35
|
-
exchange: "SMART",
|
|
36
|
-
currency: "USD",
|
|
37
|
-
secType: __1.SecType.STK,
|
|
38
|
-
};
|
|
33
|
+
const contract = new __1.Stock("SPY");
|
|
39
34
|
const order = {
|
|
40
35
|
orderType: __1.OrderType.LMT,
|
|
41
36
|
action: __1.OrderAction.BUY,
|
|
@@ -54,9 +49,9 @@ describe("Place Orders", () => {
|
|
|
54
49
|
expect(orderId).toEqual(refId);
|
|
55
50
|
expect(contract.symbol).toEqual("AAPL");
|
|
56
51
|
expect(order.totalQuantity).toEqual(2);
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
52
|
+
})
|
|
53
|
+
.on(__1.EventName.openOrderEnd, () => {
|
|
54
|
+
done();
|
|
60
55
|
})
|
|
61
56
|
.on(__1.EventName.error, (error, code, reqId, _advancedOrderReject) => {
|
|
62
57
|
if (reqId === -1) {
|
|
@@ -78,16 +73,7 @@ describe("Place Orders", () => {
|
|
|
78
73
|
test("placeOrder with PriceCondition", (done) => {
|
|
79
74
|
let refId;
|
|
80
75
|
// buy an Apple call, with a PriceCondition on underlying
|
|
81
|
-
const contract =
|
|
82
|
-
symbol: "AAPL",
|
|
83
|
-
exchange: "SMART",
|
|
84
|
-
currency: "USD",
|
|
85
|
-
secType: __1.SecType.OPT,
|
|
86
|
-
right: __1.OptionType.Call,
|
|
87
|
-
strike: 200,
|
|
88
|
-
multiplier: 100,
|
|
89
|
-
lastTradeDateOrContractMonth: "20251219",
|
|
90
|
-
};
|
|
76
|
+
const contract = new __1.Option("AAPL", "20251219", 200, __1.OptionType.Call);
|
|
91
77
|
const priceCondition = new __1.PriceCondition(29, __1.TriggerMethod.Default, 265598, "SMART", true, __1.ConjunctionConnection.OR);
|
|
92
78
|
const order = {
|
|
93
79
|
orderType: __1.OrderType.LMT,
|
|
@@ -106,9 +92,9 @@ describe("Place Orders", () => {
|
|
|
106
92
|
})
|
|
107
93
|
.on(__1.EventName.openOrder, (orderId, _contract, _order, _orderState) => {
|
|
108
94
|
expect(orderId).toEqual(refId);
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
95
|
+
})
|
|
96
|
+
.on(__1.EventName.openOrderEnd, () => {
|
|
97
|
+
done();
|
|
112
98
|
})
|
|
113
99
|
.on(__1.EventName.error, (error, code, reqId, _advancedOrderReject) => {
|
|
114
100
|
if (reqId === -1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placeOrder.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/api/order/placeOrder.test.ts"],"names":[],"mappings":";;;;;AAAA;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"placeOrder.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/api/order/placeOrder.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,18 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
7
|
-
const wsh_1 = __importDefault(require("../../../api/contract/wsh"));
|
|
8
|
-
const event_name_1 = require("../../../api/data/enum/event-name");
|
|
6
|
+
const __1 = require("../../..");
|
|
9
7
|
const configuration_1 = __importDefault(require("../../../common/configuration"));
|
|
10
|
-
const errorCode_1 = require("../../../common/errorCode");
|
|
11
8
|
const logger_1 = __importDefault(require("../../../common/logger"));
|
|
12
9
|
describe("IBApi Fundamental Data", () => {
|
|
13
10
|
jest.setTimeout(5000);
|
|
14
11
|
let ib;
|
|
15
12
|
const clientId = Math.floor(Math.random() * 32766) + 1; // ensure unique client
|
|
16
13
|
beforeEach(() => {
|
|
17
|
-
ib = new
|
|
14
|
+
ib = new __1.IBApi({
|
|
18
15
|
host: configuration_1.default.ib_host,
|
|
19
16
|
port: configuration_1.default.ib_port,
|
|
20
17
|
clientId,
|
|
@@ -28,20 +25,20 @@ describe("IBApi Fundamental Data", () => {
|
|
|
28
25
|
});
|
|
29
26
|
test("reqWshMetaData", (done) => {
|
|
30
27
|
const refId = 1;
|
|
31
|
-
ib.once(
|
|
28
|
+
ib.once(__1.EventName.connected, () => {
|
|
32
29
|
ib.reqWshMetaData(refId);
|
|
33
30
|
})
|
|
34
|
-
.on(
|
|
31
|
+
.on(__1.EventName.wshMetaData, (reqId, dataJson) => {
|
|
35
32
|
expect(reqId).toEqual(refId);
|
|
36
33
|
console.log(dataJson);
|
|
37
34
|
ib.disconnect();
|
|
38
35
|
})
|
|
39
|
-
.on(
|
|
36
|
+
.on(__1.EventName.disconnected, () => {
|
|
40
37
|
done();
|
|
41
38
|
})
|
|
42
|
-
.on(
|
|
39
|
+
.on(__1.EventName.error, (err, code, reqId) => {
|
|
43
40
|
const msg = `[${reqId}] ${err.message} (#${code})`;
|
|
44
|
-
if (code ==
|
|
41
|
+
if (code == __1.ErrorCode.NEWS_FEED_NOT_ALLOWED) {
|
|
45
42
|
logger_1.default.error(msg);
|
|
46
43
|
done();
|
|
47
44
|
}
|
|
@@ -53,24 +50,24 @@ describe("IBApi Fundamental Data", () => {
|
|
|
53
50
|
});
|
|
54
51
|
test("reqWshEventData deprecated", (done) => {
|
|
55
52
|
const refId = 2;
|
|
56
|
-
ib.once(
|
|
53
|
+
ib.once(__1.EventName.connected, () => {
|
|
57
54
|
ib.reqWshEventData(refId, 8314);
|
|
58
55
|
})
|
|
59
|
-
.on(
|
|
56
|
+
.on(__1.EventName.wshEventData, (reqId, dataJson) => {
|
|
60
57
|
expect(reqId).toEqual(refId);
|
|
61
58
|
console.log(dataJson);
|
|
62
59
|
})
|
|
63
|
-
.on(
|
|
60
|
+
.on(__1.EventName.scannerDataEnd, (reqId) => {
|
|
64
61
|
expect(reqId).toEqual(refId);
|
|
65
62
|
if (ib)
|
|
66
63
|
ib.disconnect();
|
|
67
64
|
})
|
|
68
|
-
.on(
|
|
65
|
+
.on(__1.EventName.disconnected, () => {
|
|
69
66
|
done();
|
|
70
67
|
})
|
|
71
|
-
.on(
|
|
68
|
+
.on(__1.EventName.error, (err, code, reqId) => {
|
|
72
69
|
const msg = `[${reqId}] ${err.message} (#${code})`;
|
|
73
|
-
if (code ==
|
|
70
|
+
if (code == __1.ErrorCode.NEWS_FEED_NOT_ALLOWED) {
|
|
74
71
|
logger_1.default.error(msg);
|
|
75
72
|
done();
|
|
76
73
|
}
|
|
@@ -82,24 +79,24 @@ describe("IBApi Fundamental Data", () => {
|
|
|
82
79
|
});
|
|
83
80
|
test("reqWshEventData", (done) => {
|
|
84
81
|
const refId = 3;
|
|
85
|
-
ib.once(
|
|
86
|
-
ib.reqWshEventData(refId, new
|
|
82
|
+
ib.once(__1.EventName.connected, () => {
|
|
83
|
+
ib.reqWshEventData(refId, new __1.WshEventData(8314, false, false, false, "20220511", "", 5));
|
|
87
84
|
})
|
|
88
|
-
.on(
|
|
85
|
+
.on(__1.EventName.wshEventData, (reqId, dataJson) => {
|
|
89
86
|
expect(reqId).toEqual(refId);
|
|
90
87
|
console.log(dataJson);
|
|
91
88
|
})
|
|
92
|
-
.on(
|
|
89
|
+
.on(__1.EventName.scannerDataEnd, (reqId) => {
|
|
93
90
|
expect(reqId).toEqual(refId);
|
|
94
91
|
if (ib)
|
|
95
92
|
ib.disconnect();
|
|
96
93
|
})
|
|
97
|
-
.on(
|
|
94
|
+
.on(__1.EventName.disconnected, () => {
|
|
98
95
|
done();
|
|
99
96
|
})
|
|
100
|
-
.on(
|
|
97
|
+
.on(__1.EventName.error, (err, code, reqId) => {
|
|
101
98
|
const msg = `[${reqId}] ${err.message} (#${code})`;
|
|
102
|
-
if (code ==
|
|
99
|
+
if (code == __1.ErrorCode.NEWS_FEED_NOT_ALLOWED) {
|
|
103
100
|
logger_1.default.error(msg);
|
|
104
101
|
done();
|
|
105
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wsh-event-data.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/api/wsh-event-data.test.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"wsh-event-data.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/api/wsh-event-data.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* This file implements tests for the [[IBApiNext.
|
|
3
|
+
* This file implements tests for the [[IBApiNext.getMatchingSymbols]] function.
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const assert_1 = require("assert");
|
|
@@ -50,4 +50,4 @@ describe("RxJS Wrapper: searchContracts()", () => {
|
|
|
50
50
|
api.emit(__1.EventName.symbolSamples, 1, testValues);
|
|
51
51
|
});
|
|
52
52
|
});
|
|
53
|
-
//# sourceMappingURL=get-matching-symbols.js.map
|
|
53
|
+
//# sourceMappingURL=get-matching-symbols.test.js.map
|