@stoqey/ib 1.3.5 → 1.3.7
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 +16 -3
- package/dist/api/api.js +13 -2
- package/dist/api/api.js.map +1 -1
- package/dist/api/contract/cfd.js +2 -3
- package/dist/api/contract/cfd.js.map +1 -1
- package/dist/api/contract/combo.js +2 -3
- package/dist/api/contract/combo.js.map +1 -1
- package/dist/api/contract/fop.js +3 -4
- package/dist/api/contract/fop.js.map +1 -1
- package/dist/api/contract/ind.js +2 -3
- package/dist/api/contract/ind.js.map +1 -1
- package/dist/api/contract/option.js +2 -3
- package/dist/api/contract/option.js.map +1 -1
- package/dist/api/contract/stock.js +2 -3
- package/dist/api/contract/stock.js.map +1 -1
- package/dist/api/data/enum/event-name.d.ts +3 -1
- package/dist/api/data/enum/event-name.js +2 -0
- package/dist/api/data/enum/event-name.js.map +1 -1
- package/dist/api/data/enum/min-server-version.js +3 -2
- package/dist/api/data/enum/min-server-version.js.map +1 -1
- package/dist/api/order/market.js +3 -4
- package/dist/api/order/market.js.map +1 -1
- package/dist/api/order/stop.js +3 -4
- package/dist/api/order/stop.js.map +1 -1
- package/dist/api/order/stopLimit.js +3 -4
- package/dist/api/order/stopLimit.js.map +1 -1
- package/dist/api/order/trailingStop.js +3 -4
- package/dist/api/order/trailingStop.js.map +1 -1
- package/dist/api-next/account/account-summary.d.ts +5 -5
- package/dist/api-next/account/account-update.d.ts +1 -1
- package/dist/api-next/api-next.d.ts +8 -2
- package/dist/api-next/api-next.js +148 -113
- package/dist/api-next/api-next.js.map +1 -1
- package/dist/api-next/common/common-types.d.ts +3 -3
- package/dist/api-next/common/error.d.ts +2 -0
- package/dist/api-next/contract/contract-details-update.d.ts +1 -1
- package/dist/api-next/market/market-data.d.ts +2 -2
- package/dist/api-next/market-depth/order-book.d.ts +3 -3
- package/dist/api-next/order/open-order-update.d.ts +1 -1
- package/dist/api-next/order/open-order.d.ts +1 -1
- package/dist/api-next/position/position.d.ts +2 -2
- package/dist/common/configuration.js +10 -3
- package/dist/common/configuration.js.map +1 -1
- package/dist/common/errorCode.js +3 -2
- package/dist/common/errorCode.js.map +1 -1
- package/dist/common/logger.js +15 -8
- package/dist/common/logger.js.map +1 -1
- package/dist/core/api-next/auto-connection.js +7 -3
- package/dist/core/api-next/auto-connection.js.map +1 -1
- package/dist/core/api-next/console-logger.js +5 -1
- package/dist/core/api-next/console-logger.js.map +1 -1
- package/dist/core/api-next/subscription-registry.d.ts +2 -2
- package/dist/core/api-next/subscription-registry.js +1 -2
- package/dist/core/api-next/subscription-registry.js.map +1 -1
- package/dist/core/api-next/subscription.js +2 -3
- package/dist/core/api-next/subscription.js.map +1 -1
- package/dist/core/io/controller.js +5 -7
- package/dist/core/io/controller.js.map +1 -1
- package/dist/core/io/decoder.d.ts +9 -5
- package/dist/core/io/decoder.js +38 -22
- package/dist/core/io/decoder.js.map +1 -1
- package/dist/core/io/encoder.d.ts +1 -0
- package/dist/core/io/encoder.js +31 -27
- package/dist/core/io/encoder.js.map +1 -1
- package/dist/core/io/enum/in-msg-id.d.ts +2 -1
- package/dist/core/io/enum/in-msg-id.js +1 -0
- package/dist/core/io/enum/in-msg-id.js.map +1 -1
- package/dist/core/io/socket.js +15 -15
- package/dist/core/io/socket.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/tests/unit/api/api.test.js +31 -54
- package/dist/tests/unit/api/api.test.js.map +1 -1
- package/dist/tests/unit/api/connect.test.js +40 -14
- package/dist/tests/unit/api/connect.test.js.map +1 -1
- package/dist/tests/unit/api/market-data.test.d.ts +1 -0
- package/dist/tests/unit/api/market-data.test.js +84 -0
- package/dist/tests/unit/api/market-data.test.js.map +1 -0
- package/dist/tests/unit/api/order/placeOrder.test.js +91 -24
- package/dist/tests/unit/api/order/placeOrder.test.js.map +1 -1
- package/dist/tests/unit/api/order/reqAllOpenOrders.test.js +22 -23
- package/dist/tests/unit/api/order/reqAllOpenOrders.test.js.map +1 -1
- package/dist/tests/unit/api-next/get-account-summary.test.js +22 -25
- package/dist/tests/unit/api-next/get-account-summary.test.js.map +1 -1
- package/dist/tests/unit/api-next/get-contract-details.test.js +1 -1
- package/dist/tests/unit/api-next/get-contract-details.test.js.map +1 -1
- package/dist/tests/unit/api-next/get-market-data.test.js +2 -2
- package/dist/tests/unit/api-next/get-market-data.test.js.map +1 -1
- package/dist/tests/unit/api-next/get-positions.test.js +8 -9
- package/dist/tests/unit/api-next/get-positions.test.js.map +1 -1
- package/dist/tests/unit/api-next/place-order.test.js +3 -3
- package/dist/tests/unit/api-next/place-order.test.js.map +1 -1
- package/dist/tests/unit/api-next/search-contracts.test.js +2 -2
- package/dist/tests/unit/api-next/search-contracts.test.js.map +1 -1
- package/dist/tools/account-summary.js +2 -4
- package/dist/tools/account-summary.js.map +1 -1
- package/dist/tools/common/ib-api-next-app.d.ts +4 -0
- package/dist/tools/common/ib-api-next-app.js +43 -12
- package/dist/tools/common/ib-api-next-app.js.map +1 -1
- package/dist/tools/contract-details.js +2 -26
- package/dist/tools/contract-details.js.map +1 -1
- package/dist/tools/get-head-timestamp.js +2 -26
- package/dist/tools/get-head-timestamp.js.map +1 -1
- package/dist/tools/historical-data-updates.js +1 -2
- package/dist/tools/historical-data-updates.js.map +1 -1
- package/dist/tools/historical-ticks-bid-ask.js +2 -3
- package/dist/tools/historical-ticks-bid-ask.js.map +1 -1
- package/dist/tools/historical-ticks-last.js +3 -5
- package/dist/tools/historical-ticks-last.js.map +1 -1
- package/dist/tools/historical-ticks-mid.js +2 -3
- package/dist/tools/historical-ticks-mid.js.map +1 -1
- package/dist/tools/{market-data-single.js → market-data-snapshot.js} +9 -35
- package/dist/tools/market-data-snapshot.js.map +1 -0
- package/dist/tools/market-data.js +7 -40
- package/dist/tools/market-data.js.map +1 -1
- package/dist/tools/market-depth.js +2 -4
- package/dist/tools/market-depth.js.map +1 -1
- package/dist/tools/modify-order.js +1 -2
- package/dist/tools/modify-order.js.map +1 -1
- package/dist/tools/open-orders-auto.js +1 -2
- package/dist/tools/open-orders-auto.js.map +1 -1
- package/dist/tools/open-orders.js +4 -2
- package/dist/tools/open-orders.js.map +1 -1
- package/dist/tools/place-order.d.ts +1 -1
- package/dist/tools/place-order.js +23 -19
- package/dist/tools/place-order.js.map +1 -1
- package/dist/tools/pnl-single.js +1 -2
- package/dist/tools/pnl-single.js.map +1 -1
- package/dist/tools/pnl.js +1 -2
- package/dist/tools/pnl.js.map +1 -1
- package/dist/tools/positions.js +1 -2
- package/dist/tools/positions.js.map +1 -1
- package/dist/tools/sec-def-opt-params.js +1 -2
- package/dist/tools/sec-def-opt-params.js.map +1 -1
- package/dist/tools/user-info.d.ts +4 -0
- package/dist/tools/user-info.js +52 -0
- package/dist/tools/user-info.js.map +1 -0
- package/package.json +51 -53
- package/dist/tools/market-data-single.js.map +0 -1
- /package/dist/tools/{market-data-single.d.ts → market-data-snapshot.d.ts} +0 -0
|
@@ -7,7 +7,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const __1 = require("../");
|
|
11
10
|
const api_next_1 = require("../api-next");
|
|
12
11
|
const logger_1 = __importDefault(require("../common/logger"));
|
|
13
12
|
const ib_api_next_app_1 = require("./common/ib-api-next-app");
|
|
@@ -17,21 +16,7 @@ const ib_api_next_app_1 = require("./common/ib-api-next-app");
|
|
|
17
16
|
const DESCRIPTION_TEXT = "Print real time market data of a given contract id.";
|
|
18
17
|
const USAGE_TEXT = "Usage: market-data.js <options>";
|
|
19
18
|
const OPTION_ARGUMENTS = [
|
|
20
|
-
|
|
21
|
-
["symbol=<name>", "The symbol name."],
|
|
22
|
-
[
|
|
23
|
-
"sectype=<type>",
|
|
24
|
-
"The security type. Valid values: STK, OPT, FUT, IND, FOP, CFD, CASH, BAG, BOND, CMDTY, NEWS and FUND",
|
|
25
|
-
],
|
|
26
|
-
["exchange=<name>", "The destination exchange name."],
|
|
27
|
-
["currency=<currency>", "The contract currency."],
|
|
28
|
-
[
|
|
29
|
-
"expiry=<YYYYMM>",
|
|
30
|
-
"The contract's last trading day or contract month (for Options and Futures)." +
|
|
31
|
-
"Strings with format YYYYMM will be interpreted as the Contract Month whereas YYYYMMDD will be interpreted as Last Trading Day.",
|
|
32
|
-
],
|
|
33
|
-
["strike=<number>", "The option's strike price."],
|
|
34
|
-
["right=<P|C>", " The option type. Valid values are P, PUT, C, CALL."],
|
|
19
|
+
...ib_api_next_app_1.IBApiNextApp.DEFAULT_CONTRACT_OPTIONS,
|
|
35
20
|
["ticks=<ticks>", "Comma separated list of generic ticks to fetch."],
|
|
36
21
|
];
|
|
37
22
|
const EXAMPLE_TEXT = "market-data.js -symbol=AMZN -sectype=STK -exchange=SMART -conid=3691937";
|
|
@@ -46,33 +31,16 @@ class PrintMarketDataApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
46
31
|
* Start the app.
|
|
47
32
|
*/
|
|
48
33
|
start() {
|
|
49
|
-
var _a, _b;
|
|
50
34
|
const scriptName = path_1.default.basename(__filename);
|
|
51
35
|
logger_1.default.debug(`Starting ${scriptName} script`);
|
|
52
36
|
this.connect(this.cmdLineArgs.watch ? 10000 : 0);
|
|
53
|
-
this.api.setMarketDataType(api_next_1.MarketDataType.
|
|
54
|
-
let contract;
|
|
55
|
-
if (this.cmdLineArgs.sectype == __1.SecType.OPT) {
|
|
56
|
-
contract = new __1.Option(this.cmdLineArgs.symbol, this.cmdLineArgs.expiry, +this.cmdLineArgs.strike, this.cmdLineArgs.right, this.cmdLineArgs.exchange, this.cmdLineArgs.currency);
|
|
57
|
-
}
|
|
58
|
-
else
|
|
59
|
-
contract = {
|
|
60
|
-
conId: (_a = this.cmdLineArgs.conid) !== null && _a !== void 0 ? _a : undefined,
|
|
61
|
-
symbol: this.cmdLineArgs.symbol,
|
|
62
|
-
secType: this.cmdLineArgs.sectype,
|
|
63
|
-
exchange: this.cmdLineArgs.exchange,
|
|
64
|
-
currency: this.cmdLineArgs.currency,
|
|
65
|
-
lastTradeDateOrContractMonth: this.cmdLineArgs.expiry,
|
|
66
|
-
strike: (_b = this.cmdLineArgs.strike) !== null && _b !== void 0 ? _b : undefined,
|
|
67
|
-
right: this.cmdLineArgs.right,
|
|
68
|
-
};
|
|
37
|
+
this.api.setMarketDataType(api_next_1.MarketDataType.DELAYED_FROZEN);
|
|
69
38
|
this.subscription$ = this.api
|
|
70
|
-
.getMarketData(
|
|
39
|
+
.getMarketData(this.getContractParameter(), this.cmdLineArgs.ticks, false, false)
|
|
71
40
|
.subscribe({
|
|
72
41
|
next: (marketData) => {
|
|
73
|
-
var _a, _b;
|
|
74
42
|
const changedOrAddedDataWithTickNames = new Map();
|
|
75
|
-
|
|
43
|
+
marketData.added?.forEach((tick, type) => {
|
|
76
44
|
if (type > api_next_1.IBApiNextTickType.API_NEXT_FIRST_TICK_ID) {
|
|
77
45
|
changedOrAddedDataWithTickNames.set(api_next_1.IBApiNextTickType[type], tick.value);
|
|
78
46
|
}
|
|
@@ -80,7 +48,7 @@ class PrintMarketDataApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
80
48
|
changedOrAddedDataWithTickNames.set(api_next_1.IBApiTickType[type], tick.value);
|
|
81
49
|
}
|
|
82
50
|
});
|
|
83
|
-
|
|
51
|
+
marketData.changed?.forEach((tick, type) => {
|
|
84
52
|
if (type > api_next_1.IBApiNextTickType.API_NEXT_FIRST_TICK_ID) {
|
|
85
53
|
changedOrAddedDataWithTickNames.set(api_next_1.IBApiNextTickType[type], tick.value);
|
|
86
54
|
}
|
|
@@ -91,7 +59,7 @@ class PrintMarketDataApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
91
59
|
this.printObject(changedOrAddedDataWithTickNames);
|
|
92
60
|
},
|
|
93
61
|
error: (err) => {
|
|
94
|
-
|
|
62
|
+
this.subscription$?.unsubscribe();
|
|
95
63
|
this.error(`getMarketData failed with '${err.error.message}' (${err.code})`);
|
|
96
64
|
},
|
|
97
65
|
});
|
|
@@ -100,8 +68,7 @@ class PrintMarketDataApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
100
68
|
* Stop the app with success code.
|
|
101
69
|
*/
|
|
102
70
|
stop() {
|
|
103
|
-
|
|
104
|
-
(_a = this.subscription$) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
71
|
+
this.subscription$?.unsubscribe();
|
|
105
72
|
this.exit();
|
|
106
73
|
}
|
|
107
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market-data.js","sourceRoot":"","sources":["../../src/tools/market-data.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAGxB,
|
|
1
|
+
{"version":3,"file":"market-data.js","sourceRoot":"","sources":["../../src/tools/market-data.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAGxB,0CAKqB;AACrB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG,qDAAqD,CAAC;AAC/E,MAAM,UAAU,GAAG,iCAAiC,CAAC;AACrD,MAAM,gBAAgB,GAAuB;IAC3C,GAAG,8BAAY,CAAC,wBAAwB;IACxC,CAAC,eAAe,EAAE,iDAAiD,CAAC;CACrE,CAAC;AACF,MAAM,YAAY,GAChB,yEAAyE,CAAC;AAE5E,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,kBAAmB,SAAQ,8BAAY;IAC3C;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAKD;;OAEG;IACH,KAAK;QACH,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,gBAAM,CAAC,KAAK,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,yBAAc,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG;aAC1B,aAAa,CACZ,IAAI,CAAC,oBAAoB,EAAE,EAC3B,IAAI,CAAC,WAAW,CAAC,KAAe,EAChC,KAAK,EACL,KAAK,CACN;aACA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,UAAU,EAAE,EAAE;gBACnB,MAAM,+BAA+B,GAAG,IAAI,GAAG,EAAkB,CAAC;gBAClE,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;oBACvC,IAAI,IAAI,GAAG,4BAAiB,CAAC,sBAAsB,EAAE;wBACnD,+BAA+B,CAAC,GAAG,CACjC,4BAAiB,CAAC,IAAI,CAAC,EACvB,IAAI,CAAC,KAAK,CACX,CAAC;qBACH;yBAAM;wBACL,+BAA+B,CAAC,GAAG,CACjC,wBAAa,CAAC,IAAI,CAAC,EACnB,IAAI,CAAC,KAAK,CACX,CAAC;qBACH;gBACH,CAAC,CAAC,CAAC;gBACH,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;oBACzC,IAAI,IAAI,GAAG,4BAAiB,CAAC,sBAAsB,EAAE;wBACnD,+BAA+B,CAAC,GAAG,CACjC,4BAAiB,CAAC,IAAI,CAAC,EACvB,IAAI,CAAC,KAAK,CACX,CAAC;qBACH;yBAAM;wBACL,+BAA+B,CAAC,GAAG,CACjC,wBAAa,CAAC,IAAI,CAAC,EACnB,IAAI,CAAC,KAAK,CACX,CAAC;qBACH;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;YACpD,CAAC;YACD,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE;gBAC7B,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;gBAClC,IAAI,CAAC,KAAK,CACR,8BAA8B,GAAG,CAAC,KAAK,CAAC,OAAO,MAAM,GAAG,CAAC,IAAI,GAAG,CACjE,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;CACF;AAED,cAAc;AAEd,IAAI,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -59,8 +59,7 @@ class PrintMarketDepthExchangesApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
59
59
|
this.printObject(orderBookUpdate);
|
|
60
60
|
},
|
|
61
61
|
error: (err) => {
|
|
62
|
-
|
|
63
|
-
(_a = this.subscription$) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
62
|
+
this.subscription$?.unsubscribe();
|
|
64
63
|
this.error(`getMarketData failed with '${err.error.message}'`);
|
|
65
64
|
},
|
|
66
65
|
});
|
|
@@ -69,8 +68,7 @@ class PrintMarketDepthExchangesApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
69
68
|
* Stop the app with success code.
|
|
70
69
|
*/
|
|
71
70
|
stop() {
|
|
72
|
-
|
|
73
|
-
(_a = this.subscription$) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
71
|
+
this.subscription$?.unsubscribe();
|
|
74
72
|
this.exit();
|
|
75
73
|
}
|
|
76
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market-depth.js","sourceRoot":"","sources":["../../src/tools/market-depth.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAIxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG,gDAAgD,CAAC;AAC1E,MAAM,UAAU,GAAG,kCAAkC,CAAC;AACtD,MAAM,gBAAgB,GAAuB;IAC3C,CAAC,gBAAgB,EAAE,sCAAsC,CAAC;IAC1D,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;IACrD,CAAC,eAAe,EAAE,oDAAoD,CAAC;IACvE;QACE,aAAa;QACb,8FAA8F;KAC/F;CACF,CAAC;AACF,MAAM,YAAY,GAChB,oFAAoF,CAAC;AAEvF,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,4BAA6B,SAAQ,8BAAY;IACrD;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAKD;;OAEG;IACH,KAAK;QACH,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,gBAAM,CAAC,KAAK,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEhB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAC3C;QAED,2BAA2B;QAE3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG;aAC1B,cAAc,CACb;YACE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAe;YACvC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAkB;SAC9C,EACD,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS;YACjC,CAAC,CAAE,IAAI,CAAC,WAAW,CAAC,IAAe;YACnC,CAAC,CAAC,GAAG,EACP,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,SAAS;YAClC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,GAAG;YAChC,CAAC,CAAC,IAAI,CACT;aACA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,eAAe,EAAE,EAAE;gBACxB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YACpC,CAAC;YACD,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"market-depth.js","sourceRoot":"","sources":["../../src/tools/market-depth.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAIxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG,gDAAgD,CAAC;AAC1E,MAAM,UAAU,GAAG,kCAAkC,CAAC;AACtD,MAAM,gBAAgB,GAAuB;IAC3C,CAAC,gBAAgB,EAAE,sCAAsC,CAAC;IAC1D,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;IACrD,CAAC,eAAe,EAAE,oDAAoD,CAAC;IACvE;QACE,aAAa;QACb,8FAA8F;KAC/F;CACF,CAAC;AACF,MAAM,YAAY,GAChB,oFAAoF,CAAC;AAEvF,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,4BAA6B,SAAQ,8BAAY;IACrD;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAKD;;OAEG;IACH,KAAK;QACH,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,gBAAM,CAAC,KAAK,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEhB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAC3C;QAED,2BAA2B;QAE3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG;aAC1B,cAAc,CACb;YACE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAe;YACvC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAkB;SAC9C,EACD,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS;YACjC,CAAC,CAAE,IAAI,CAAC,WAAW,CAAC,IAAe;YACnC,CAAC,CAAC,GAAG,EACP,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,SAAS;YAClC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,GAAG;YAChC,CAAC,CAAC,IAAI,CACT;aACA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,eAAe,EAAE,EAAE;gBACxB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YACpC,CAAC;YACD,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE;gBAC7B,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,8BAA8B,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;YACjE,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;CACF;AAED,cAAc;AAEd,IAAI,4BAA4B,EAAE,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -33,10 +33,9 @@ class ModifyOrdersApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
33
33
|
* Start the app.
|
|
34
34
|
*/
|
|
35
35
|
start() {
|
|
36
|
-
var _a;
|
|
37
36
|
const scriptName = path_1.default.basename(__filename);
|
|
38
37
|
logger_1.default.debug(`Starting ${scriptName} script`);
|
|
39
|
-
this.connect(this.cmdLineArgs.watch ? 10000 : 0,
|
|
38
|
+
this.connect(this.cmdLineArgs.watch ? 10000 : 0, +this.cmdLineArgs.clientId ?? 0);
|
|
40
39
|
const id = +this.cmdLineArgs.orderId;
|
|
41
40
|
const contract = {
|
|
42
41
|
symbol: "AAPL",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modify-order.js","sourceRoot":"","sources":["../../src/tools/modify-order.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAExB,2BAAuE;AACvE,4EAAoD;AACpD,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG,eAAe,CAAC;AACzC,MAAM,UAAU,GAAG,mCAAmC,CAAC;AACvD,MAAM,gBAAgB,GAAuB;IAC3C,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IACxC,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;IAC9C,CAAC,mBAAmB,EAAE,kDAAkD,CAAC;CAC1E,CAAC;AACF,MAAM,YAAY,GAChB,iEAAiE,CAAC;AAEpE,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,eAAgB,SAAQ,8BAAY;IACxC;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IACD;;OAEG;IACH,KAAK
|
|
1
|
+
{"version":3,"file":"modify-order.js","sourceRoot":"","sources":["../../src/tools/modify-order.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAExB,2BAAuE;AACvE,4EAAoD;AACpD,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG,eAAe,CAAC;AACzC,MAAM,UAAU,GAAG,mCAAmC,CAAC;AACvD,MAAM,gBAAgB,GAAuB;IAC3C,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IACxC,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;IAC9C,CAAC,mBAAmB,EAAE,kDAAkD,CAAC;CAC1E,CAAC;AACF,MAAM,YAAY,GAChB,iEAAiE,CAAC;AAEpE,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,eAAgB,SAAQ,8BAAY;IACxC;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IACD;;OAEG;IACH,KAAK;QACH,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,gBAAM,CAAC,KAAK,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC;QAE9C,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAClC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,CAChC,CAAC;QAEF,MAAM,EAAE,GAAW,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAE7C,MAAM,QAAQ,GAAa;YACzB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,WAAO,CAAC,GAAG;SACrB,CAAC;QAEF,MAAM,KAAK,GAAU;YACnB,SAAS,EAAE,aAAS,CAAC,GAAG;YACxB,MAAM,EAAE,eAAW,CAAC,GAAG;YACvB,QAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK;YACjC,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ;YACzC,OAAO,EAAE,uBAAa,CAAC,eAAe;YACtC,QAAQ,EAAE,IAAI;SACf,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;CACF;AAED,cAAc;AAEd,IAAI,eAAe,EAAE,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -51,9 +51,8 @@ class OpenOrdersApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
51
51
|
* Stop the app with success code.
|
|
52
52
|
*/
|
|
53
53
|
stop() {
|
|
54
|
-
var _a;
|
|
55
54
|
console.log("app stopping.");
|
|
56
|
-
|
|
55
|
+
this.subscription$?.unsubscribe();
|
|
57
56
|
this.exit();
|
|
58
57
|
}
|
|
59
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-orders-auto.js","sourceRoot":"","sources":["../../src/tools/open-orders-auto.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAIxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAC3D,MAAM,UAAU,GAAG,yCAAyC,CAAC;AAC7D,MAAM,gBAAgB,GAAuB;IACzC,CAAC,mBAAmB,EAAE,kFAAkF,CAAC;IACzG,CAAC,MAAM,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AACF,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAE9C,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,aAAc,SAAQ,8BAAY;IACpC;QACI,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACxE,CAAC;IAKD;;OAEG;IACH,KAAK;QACD,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,gBAAM,CAAC,KAAK,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC;QAE9C,IAAI,CAAC,OAAO,CACR,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAClC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC7D,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG;aACxB,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;aACvD,SAAS,CAAC;YACP,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;gBACX,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YACD,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE;gBAC3B,IAAI,CAAC,KAAK,CACN,8BAA8B,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CACrD,CAAC;YACN,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACX,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YAC5C,CAAC;SACJ,CAAC,CAAC;IACX,CAAC;IAED;;OAEG;IACH,IAAI
|
|
1
|
+
{"version":3,"file":"open-orders-auto.js","sourceRoot":"","sources":["../../src/tools/open-orders-auto.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAIxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAC3D,MAAM,UAAU,GAAG,yCAAyC,CAAC;AAC7D,MAAM,gBAAgB,GAAuB;IACzC,CAAC,mBAAmB,EAAE,kFAAkF,CAAC;IACzG,CAAC,MAAM,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AACF,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAE9C,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,aAAc,SAAQ,8BAAY;IACpC;QACI,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACxE,CAAC;IAKD;;OAEG;IACH,KAAK;QACD,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,gBAAM,CAAC,KAAK,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC;QAE9C,IAAI,CAAC,OAAO,CACR,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAClC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC7D,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG;aACxB,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;aACvD,SAAS,CAAC;YACP,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;gBACX,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YACD,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE;gBAC3B,IAAI,CAAC,KAAK,CACN,8BAA8B,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CACrD,CAAC;YACN,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACX,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YAC5C,CAAC;SACJ,CAAC,CAAC;IACX,CAAC;IAED;;OAEG;IACH,IAAI;QACA,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;CACJ;AAED,cAAc;AAEd,IAAI,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -14,7 +14,9 @@ const ib_api_next_app_1 = require("./common/ib-api-next-app");
|
|
|
14
14
|
/////////////////////////////////////////////////////////////////////////////////
|
|
15
15
|
const DESCRIPTION_TEXT = "Prints the account open orders.";
|
|
16
16
|
const USAGE_TEXT = "Usage: open-orders.js <options>";
|
|
17
|
-
const OPTION_ARGUMENTS = [
|
|
17
|
+
const OPTION_ARGUMENTS = [
|
|
18
|
+
["clientId=<number>", "Client id of current ib connection. Default is 0"],
|
|
19
|
+
];
|
|
18
20
|
const EXAMPLE_TEXT = "open-orders.js";
|
|
19
21
|
//////////////////////////////////////////////////////////////////////////////
|
|
20
22
|
// The App code //
|
|
@@ -29,7 +31,7 @@ class OpenOrdersApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
29
31
|
start() {
|
|
30
32
|
const scriptName = path_1.default.basename(__filename);
|
|
31
33
|
logger_1.default.debug(`Starting ${scriptName} script`);
|
|
32
|
-
this.connect(this.cmdLineArgs.watch ? 10000 : 0);
|
|
34
|
+
this.connect(this.cmdLineArgs.watch ? 10000 : 0, +this.cmdLineArgs.clientId ?? 0);
|
|
33
35
|
this.api
|
|
34
36
|
.getAllOpenOrders()
|
|
35
37
|
.then((orders) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-orders.js","sourceRoot":"","sources":["../../src/tools/open-orders.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAGxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAC3D,MAAM,UAAU,GAAG,iCAAiC,CAAC;AACrD,MAAM,gBAAgB,GAAuB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"open-orders.js","sourceRoot":"","sources":["../../src/tools/open-orders.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAGxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAC3D,MAAM,UAAU,GAAG,iCAAiC,CAAC;AACrD,MAAM,gBAAgB,GAAuB;IAC3C,CAAC,mBAAmB,EAAE,kDAAkD,CAAC;CAC1E,CAAC;AACF,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAEtC,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,aAAc,SAAQ,8BAAY;IACtC;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,KAAK;QACH,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,gBAAM,CAAC,KAAK,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC;QAE9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,GAAG;aACL,gBAAgB,EAAE;aAClB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAmB,EAAE,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,iCAAiC,GAAG,GAAG,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;CACF;AAED,cAAc;AAEd,IAAI,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* This App will
|
|
3
|
+
* This App will place orders to IBKR.
|
|
4
4
|
*/
|
|
5
5
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
6
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -11,21 +11,21 @@ const __1 = require("../");
|
|
|
11
11
|
const configuration_1 = __importDefault(require("../common/configuration"));
|
|
12
12
|
const logger_1 = __importDefault(require("../common/logger"));
|
|
13
13
|
const ib_api_next_app_1 = require("./common/ib-api-next-app");
|
|
14
|
-
|
|
15
|
-
// The help text.
|
|
16
|
-
/////////////////////////////////////////////////////////////////////////////////
|
|
14
|
+
const scriptName = path_1.default.basename(__filename);
|
|
15
|
+
// The help text.
|
|
17
16
|
const DESCRIPTION_TEXT = "Place order.";
|
|
18
|
-
const USAGE_TEXT =
|
|
17
|
+
const USAGE_TEXT = `Usage: ${scriptName} <options>`;
|
|
19
18
|
const OPTION_ARGUMENTS = [
|
|
19
|
+
...ib_api_next_app_1.IBApiNextApp.DEFAULT_CONTRACT_OPTIONS,
|
|
20
20
|
["price=<number>", "price of an order."],
|
|
21
|
-
["symbol=<name>", "The symbol name."],
|
|
22
21
|
["quantity=<number>", "Quantity of an order."],
|
|
23
22
|
];
|
|
24
|
-
const EXAMPLE_TEXT =
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
const EXAMPLE_TEXT = `${scriptName} -price=120 -symbol=AMZN -quantity=10`;
|
|
24
|
+
const awaitTimeout = (delay) => new Promise((resolve) => setTimeout(resolve, delay * 1000));
|
|
25
|
+
class App extends ib_api_next_app_1.IBApiNextApp {
|
|
26
|
+
/**
|
|
27
|
+
* Initialise the app.
|
|
28
|
+
*/
|
|
29
29
|
constructor() {
|
|
30
30
|
super(DESCRIPTION_TEXT, USAGE_TEXT, OPTION_ARGUMENTS, EXAMPLE_TEXT);
|
|
31
31
|
}
|
|
@@ -33,19 +33,18 @@ class PlaceOrdersApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
33
33
|
* Start the app.
|
|
34
34
|
*/
|
|
35
35
|
start() {
|
|
36
|
-
|
|
37
|
-
logger_1.default.debug(`Starting ${scriptName} script`);
|
|
36
|
+
logger_1.default.info(`Starting ${scriptName} script...`);
|
|
38
37
|
this.connect(this.cmdLineArgs.watch ? 10000 : 0);
|
|
39
38
|
this.api
|
|
40
39
|
.getNextValidOrderId()
|
|
41
40
|
.then((id) => {
|
|
42
|
-
this.printText(`${id}`);
|
|
43
41
|
const contract = {
|
|
44
42
|
symbol: this.cmdLineArgs.symbol,
|
|
45
|
-
exchange:
|
|
46
|
-
currency:
|
|
47
|
-
secType:
|
|
43
|
+
exchange: this.cmdLineArgs.exchange,
|
|
44
|
+
currency: this.cmdLineArgs.currency,
|
|
45
|
+
secType: this.cmdLineArgs.sectype,
|
|
48
46
|
};
|
|
47
|
+
// this.printObject(contract);
|
|
49
48
|
const order = {
|
|
50
49
|
orderType: __1.OrderType.LMT,
|
|
51
50
|
action: __1.OrderAction.BUY,
|
|
@@ -56,6 +55,7 @@ class PlaceOrdersApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
56
55
|
transmit: true,
|
|
57
56
|
};
|
|
58
57
|
this.api.placeOrder(id, contract, order);
|
|
58
|
+
this.printText(`Order Id ${id} sent`);
|
|
59
59
|
this.stop();
|
|
60
60
|
})
|
|
61
61
|
.catch((err) => {
|
|
@@ -66,9 +66,13 @@ class PlaceOrdersApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
66
66
|
* Stop the app with success code.
|
|
67
67
|
*/
|
|
68
68
|
stop() {
|
|
69
|
-
|
|
69
|
+
// Give a 2 secs chance to get any server feedback before exiting
|
|
70
|
+
awaitTimeout(2).then(() => {
|
|
71
|
+
logger_1.default.info(`${scriptName} script done.`);
|
|
72
|
+
this.exit();
|
|
73
|
+
});
|
|
70
74
|
}
|
|
71
75
|
}
|
|
72
76
|
// run the app
|
|
73
|
-
new
|
|
77
|
+
new App().start();
|
|
74
78
|
//# sourceMappingURL=place-order.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"place-order.js","sourceRoot":"","sources":["../../src/tools/place-order.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAExB,2BAOa;AACb,4EAAoD;AACpD,8DAAsC;AACtC,8DAAwD;AAExD,
|
|
1
|
+
{"version":3,"file":"place-order.js","sourceRoot":"","sources":["../../src/tools/place-order.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAExB,2BAOa;AACb,4EAAoD;AACpD,8DAAsC;AACtC,8DAAwD;AAExD,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAE7C,iBAAiB;AACjB,MAAM,gBAAgB,GAAG,cAAc,CAAC;AACxC,MAAM,UAAU,GAAG,UAAU,UAAU,YAAY,CAAC;AACpD,MAAM,gBAAgB,GAAuB;IAC3C,GAAG,8BAAY,CAAC,wBAAwB;IACxC,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IACxC,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;CAC/C,CAAC;AACF,MAAM,YAAY,GAAG,GAAG,UAAU,uCAAuC,CAAC;AAE1E,MAAM,YAAY,GAAG,CAAC,KAAa,EAAoB,EAAE,CACvD,IAAI,OAAO,CAAC,CAAC,OAAO,EAAkB,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;AAE9E,MAAM,GAAI,SAAQ,8BAAY;IAC5B;;OAEG;IACH;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,KAAK;QACH,gBAAM,CAAC,IAAI,CAAC,YAAY,UAAU,YAAY,CAAC,CAAC;QAEhD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjD,IAAI,CAAC,GAAG;aACL,mBAAmB,EAAE;aACrB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;YACX,MAAM,QAAQ,GAAa;gBACzB,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAgB;gBACzC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAkB;gBAC7C,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAkB;gBAC7C,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,OAAkB;aAC7C,CAAC;YACF,8BAA8B;YAE9B,MAAM,KAAK,GAAU;gBACnB,SAAS,EAAE,aAAS,CAAC,GAAG;gBACxB,MAAM,EAAE,eAAW,CAAC,GAAG;gBACvB,QAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK;gBACjC,OAAO,EAAE,EAAE;gBACX,aAAa,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ;gBACzC,OAAO,EAAE,uBAAa,CAAC,eAAe;gBACtC,QAAQ,EAAE,IAAI;aACf,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAmB,EAAE,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,oCAAoC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,IAAI;QACF,iEAAiE;QACjE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACxB,gBAAM,CAAC,IAAI,CAAC,GAAG,UAAU,eAAe,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,cAAc;AACd,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/tools/pnl-single.js
CHANGED
|
@@ -66,8 +66,7 @@ class PrintPositionsApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
66
66
|
* Stop the app with success code.
|
|
67
67
|
*/
|
|
68
68
|
stop() {
|
|
69
|
-
|
|
70
|
-
(_a = this.subscription$) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
69
|
+
this.subscription$?.unsubscribe();
|
|
71
70
|
this.exit();
|
|
72
71
|
}
|
|
73
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pnl-single.js","sourceRoot":"","sources":["../../src/tools/pnl-single.ts"],"names":[],"mappings":";;;;;AAAA;;GAEG;AACH,gDAAwB;AAIxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GACpB,iEAAiE,CAAC;AACpE,MAAM,UAAU,GAAG,gCAAgC,CAAC;AACpD,MAAM,gBAAgB,GAAuB;IAC3C,CAAC,sBAAsB,EAAE,8CAA8C,CAAC;IACxE;QACE,gBAAgB;QAChB,8EAA8E;KAC/E;IACD,CAAC,cAAc,EAAE,iCAAiC,CAAC;IACnD;QACE,OAAO;QACP,oHAAoH;YACpH,yEAAyE;KAC1E;CACF,CAAC;AACF,MAAM,YAAY,GAAG,wDAAwD,CAAC;AAE9E,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,iBAAkB,SAAQ,8BAAY;IAC1C;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAKD;;OAEG;IACH,KAAK;QACH,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,gBAAM,CAAC,KAAK,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;SACxC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG;aAC1B,YAAY,CACX,IAAI,CAAC,WAAW,CAAC,OAAiB,EAClC,IAAI,CAAC,WAAW,CAAC,KAAe,EAChC,IAAI,CAAC,WAAW,CAAC,KAAe,CACjC;aACA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE;gBAClB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;oBAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;iBACb;YACH,CAAC;YACD,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE;gBAC7B,IAAI,CAAC,KAAK,CAAC,6BAA6B,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;YAChE,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,IAAI
|
|
1
|
+
{"version":3,"file":"pnl-single.js","sourceRoot":"","sources":["../../src/tools/pnl-single.ts"],"names":[],"mappings":";;;;;AAAA;;GAEG;AACH,gDAAwB;AAIxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GACpB,iEAAiE,CAAC;AACpE,MAAM,UAAU,GAAG,gCAAgC,CAAC;AACpD,MAAM,gBAAgB,GAAuB;IAC3C,CAAC,sBAAsB,EAAE,8CAA8C,CAAC;IACxE;QACE,gBAAgB;QAChB,8EAA8E;KAC/E;IACD,CAAC,cAAc,EAAE,iCAAiC,CAAC;IACnD;QACE,OAAO;QACP,oHAAoH;YACpH,yEAAyE;KAC1E;CACF,CAAC;AACF,MAAM,YAAY,GAAG,wDAAwD,CAAC;AAE9E,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,iBAAkB,SAAQ,8BAAY;IAC1C;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAKD;;OAEG;IACH,KAAK;QACH,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,gBAAM,CAAC,KAAK,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;SACxC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG;aAC1B,YAAY,CACX,IAAI,CAAC,WAAW,CAAC,OAAiB,EAClC,IAAI,CAAC,WAAW,CAAC,KAAe,EAChC,IAAI,CAAC,WAAW,CAAC,KAAe,CACjC;aACA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE;gBAClB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;oBAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;iBACb;YACH,CAAC;YACD,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE;gBAC7B,IAAI,CAAC,KAAK,CAAC,6BAA6B,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;YAChE,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;CACF;AAED,cAAc;AAEd,IAAI,iBAAiB,EAAE,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/tools/pnl.js
CHANGED
|
@@ -58,8 +58,7 @@ class PrintPositionsApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
58
58
|
* Stop the app with success code.
|
|
59
59
|
*/
|
|
60
60
|
stop() {
|
|
61
|
-
|
|
62
|
-
(_a = this.subscription$) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
61
|
+
this.subscription$?.unsubscribe();
|
|
63
62
|
this.exit();
|
|
64
63
|
}
|
|
65
64
|
}
|
package/dist/tools/pnl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pnl.js","sourceRoot":"","sources":["../../src/tools/pnl.ts"],"names":[],"mappings":";;;;;AAAA;;GAEG;AACH,gDAAwB;AAIxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GACpB,4DAA4D,CAAC;AAC/D,MAAM,UAAU,GAAG,yBAAyB,CAAC;AAC7C,MAAM,gBAAgB,GAAuB;IAC3C,CAAC,SAAS,EAAE,iCAAiC,CAAC;IAC9C;QACE,OAAO;QACP,oHAAoH;YACpH,yEAAyE;KAC1E;CACF,CAAC;AACF,MAAM,YAAY,GAAG,kCAAkC,CAAC;AAExD,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,iBAAkB,SAAQ,8BAAY;IAC1C;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAKD;;OAEG;IACH,KAAK;QACH,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,gBAAM,CAAC,IAAI,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;SAC1C;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG;aAC1B,MAAM,CACL,IAAI,CAAC,WAAW,CAAC,OAAiB,EAClC,IAAI,CAAC,WAAW,CAAC,KAAe,CACjC;aACA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;gBACZ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;oBAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;iBACb;YACH,CAAC;YACD,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE;gBAC7B,IAAI,CAAC,KAAK,CAAC,uBAAuB,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;YAC1D,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,IAAI
|
|
1
|
+
{"version":3,"file":"pnl.js","sourceRoot":"","sources":["../../src/tools/pnl.ts"],"names":[],"mappings":";;;;;AAAA;;GAEG;AACH,gDAAwB;AAIxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GACpB,4DAA4D,CAAC;AAC/D,MAAM,UAAU,GAAG,yBAAyB,CAAC;AAC7C,MAAM,gBAAgB,GAAuB;IAC3C,CAAC,SAAS,EAAE,iCAAiC,CAAC;IAC9C;QACE,OAAO;QACP,oHAAoH;YACpH,yEAAyE;KAC1E;CACF,CAAC;AACF,MAAM,YAAY,GAAG,kCAAkC,CAAC;AAExD,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,iBAAkB,SAAQ,8BAAY;IAC1C;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAKD;;OAEG;IACH,KAAK;QACH,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,gBAAM,CAAC,IAAI,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;SAC1C;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG;aAC1B,MAAM,CACL,IAAI,CAAC,WAAW,CAAC,OAAiB,EAClC,IAAI,CAAC,WAAW,CAAC,KAAe,CACjC;aACA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;gBACZ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;oBAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;iBACb;YACH,CAAC;YACD,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE;gBAC7B,IAAI,CAAC,KAAK,CAAC,uBAAuB,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;YAC1D,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;CACF;AAED,cAAc;AAEd,IAAI,iBAAiB,EAAE,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/tools/positions.js
CHANGED
|
@@ -52,8 +52,7 @@ class PrintPositionsApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
52
52
|
* Stop the app with success code.
|
|
53
53
|
*/
|
|
54
54
|
stop() {
|
|
55
|
-
|
|
56
|
-
(_a = this.subscription$) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
55
|
+
this.subscription$?.unsubscribe();
|
|
57
56
|
this.exit();
|
|
58
57
|
}
|
|
59
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positions.js","sourceRoot":"","sources":["../../src/tools/positions.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAIxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GACpB,wDAAwD,CAAC;AAC3D,MAAM,UAAU,GAAG,+BAA+B,CAAC;AACnD,MAAM,gBAAgB,GAAuB;IAC3C;QACE,OAAO;QACP,0HAA0H;YAC1H,yEAAyE;KAC1E;CACF,CAAC;AACF,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAE3C,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,iBAAkB,SAAQ,8BAAY;IAC1C;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAKD;;OAEG;IACH,KAAK;QACH,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,gBAAM,CAAC,KAAK,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC;YACrD,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE;gBAClB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;oBAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;iBACb;YACH,CAAC;YACD,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE;gBAC7B,IAAI,CAAC,KAAK,CAAC,6BAA6B,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;YAChE,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI
|
|
1
|
+
{"version":3,"file":"positions.js","sourceRoot":"","sources":["../../src/tools/positions.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAIxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GACpB,wDAAwD,CAAC;AAC3D,MAAM,UAAU,GAAG,+BAA+B,CAAC;AACnD,MAAM,gBAAgB,GAAuB;IAC3C;QACE,OAAO;QACP,0HAA0H;YAC1H,yEAAyE;KAC1E;CACF,CAAC;AACF,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAE3C,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,iBAAkB,SAAQ,8BAAY;IAC1C;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAKD;;OAEG;IACH,KAAK;QACH,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,gBAAM,CAAC,KAAK,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC;YACrD,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE;gBAClB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;oBAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;iBACb;YACH,CAAC;YACD,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE;gBAC7B,IAAI,CAAC,KAAK,CAAC,6BAA6B,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;YAChE,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;CACF;AAED,cAAc;AAEd,IAAI,iBAAiB,EAAE,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -32,12 +32,11 @@ class PrintOptionsDetailsApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
32
32
|
* Start the app.
|
|
33
33
|
*/
|
|
34
34
|
start() {
|
|
35
|
-
var _a;
|
|
36
35
|
const scriptName = path_1.default.basename(__filename);
|
|
37
36
|
logger_1.default.debug(`Starting ${scriptName} script`);
|
|
38
37
|
this.connect();
|
|
39
38
|
this.api
|
|
40
|
-
.getSecDefOptParams(this.cmdLineArgs.symbol, this.cmdLineArgs.exchange, this.cmdLineArgs.sectype,
|
|
39
|
+
.getSecDefOptParams(this.cmdLineArgs.symbol, this.cmdLineArgs.exchange, this.cmdLineArgs.sectype, this.cmdLineArgs.conid ?? undefined)
|
|
41
40
|
.then((details) => {
|
|
42
41
|
this.printObject(details);
|
|
43
42
|
this.stop();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sec-def-opt-params.js","sourceRoot":"","sources":["../../src/tools/sec-def-opt-params.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAIxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG,mFAAmF,CAAC;AAC7G,MAAM,UAAU,GAAG,qCAAqC,CAAC;AACzD,MAAM,gBAAgB,GAAuB;IACzC,CAAC,gBAAgB,EAAE,iDAAiD,CAAC;IACrE,CAAC,eAAe,EAAE,6BAA6B,CAAC;IAChD,CAAC,gBAAgB,EAAE,wDAAwD,EAAE;IAC7E,CAAC,iBAAiB,EAAE,yDAAyD,CAAC;CACjF,CAAC;AACF,MAAM,YAAY,GAAG,4DAA4D,CAAC;AAElF,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,sBAAuB,SAAQ,8BAAY;IAC7C;QACI,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,KAAK
|
|
1
|
+
{"version":3,"file":"sec-def-opt-params.js","sourceRoot":"","sources":["../../src/tools/sec-def-opt-params.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAIxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG,mFAAmF,CAAC;AAC7G,MAAM,UAAU,GAAG,qCAAqC,CAAC;AACzD,MAAM,gBAAgB,GAAuB;IACzC,CAAC,gBAAgB,EAAE,iDAAiD,CAAC;IACrE,CAAC,eAAe,EAAE,6BAA6B,CAAC;IAChD,CAAC,gBAAgB,EAAE,wDAAwD,EAAE;IAC7E,CAAC,iBAAiB,EAAE,yDAAyD,CAAC;CACjF,CAAC;AACF,MAAM,YAAY,GAAG,4DAA4D,CAAC;AAElF,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,sBAAuB,SAAQ,8BAAY;IAC7C;QACI,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,KAAK;QACD,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,gBAAM,CAAC,KAAK,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,IAAI,CAAC,GAAG;aACH,kBAAkB,CACf,IAAI,CAAC,WAAW,CAAC,MAAgB,EACjC,IAAI,CAAC,WAAW,CAAC,QAAkB,EACnC,IAAI,CAAC,WAAW,CAAC,OAAkB,EAClC,IAAI,CAAC,WAAW,CAAC,KAAgB,IAAI,SAAS,CAClD;aACA,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAmB,EAAE,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,mCAAmC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;OAEG;IACH,IAAI;QACA,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;CACJ;AAED,cAAc;AAEd,IAAI,sBAAsB,EAAE,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* This App will print the user info of the logged user.
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const logger_1 = __importDefault(require("../common/logger"));
|
|
11
|
+
const ib_api_next_app_1 = require("./common/ib-api-next-app");
|
|
12
|
+
/////////////////////////////////////////////////////////////////////////////////
|
|
13
|
+
// The help text. //
|
|
14
|
+
/////////////////////////////////////////////////////////////////////////////////
|
|
15
|
+
const DESCRIPTION_TEXT = "Prints the user info of the logged user.";
|
|
16
|
+
const USAGE_TEXT = "Usage: user-info.js <options>";
|
|
17
|
+
const OPTION_ARGUMENTS = [];
|
|
18
|
+
const EXAMPLE_TEXT = "user-info.js -port=4002";
|
|
19
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
20
|
+
// The App code //
|
|
21
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
22
|
+
class App extends ib_api_next_app_1.IBApiNextApp {
|
|
23
|
+
constructor() {
|
|
24
|
+
super(DESCRIPTION_TEXT, USAGE_TEXT, OPTION_ARGUMENTS, EXAMPLE_TEXT);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Start the app.
|
|
28
|
+
*/
|
|
29
|
+
start() {
|
|
30
|
+
const scriptName = path_1.default.basename(__filename);
|
|
31
|
+
logger_1.default.debug(`Starting ${scriptName} script`);
|
|
32
|
+
this.connect(0);
|
|
33
|
+
this.api
|
|
34
|
+
.getUserInfo()
|
|
35
|
+
.then((whiteBrandingId) => {
|
|
36
|
+
this.printText(`User Info. WhiteBrandingId: '${whiteBrandingId}'`);
|
|
37
|
+
this.stop();
|
|
38
|
+
})
|
|
39
|
+
.catch((err) => {
|
|
40
|
+
this.error(`getUserInfo failed with '${err.error.message}'`);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Stop the app with success code.
|
|
45
|
+
*/
|
|
46
|
+
stop() {
|
|
47
|
+
this.exit();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// run the app
|
|
51
|
+
new App().start();
|
|
52
|
+
//# sourceMappingURL=user-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-info.js","sourceRoot":"","sources":["../../src/tools/user-info.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAGxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG,0CAA0C,CAAC;AACpE,MAAM,UAAU,GAAG,+BAA+B,CAAC;AACnD,MAAM,gBAAgB,GAAuB,EAAE,CAAC;AAChD,MAAM,YAAY,GAAG,yBAAyB,CAAC;AAE/C,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,GAAI,SAAQ,8BAAY;IAC5B;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,KAAK;QACH,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,gBAAM,CAAC,KAAK,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,GAAG;aACL,WAAW,EAAE;aACb,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE;YACxB,IAAI,CAAC,SAAS,CAAC,gCAAgC,eAAe,GAAG,CAAC,CAAC;YACnE,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAmB,EAAE,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,4BAA4B,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;CACF;AAED,cAAc;AAEd,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,36 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stoqey/ib",
|
|
3
|
+
"version": "1.3.7",
|
|
3
4
|
"private": false,
|
|
4
|
-
"version": "1.3.5",
|
|
5
5
|
"description": "Interactive Brokers TWS/IB Gateway API client library for Node.js (TS)",
|
|
6
|
-
"main": "dist/index.js",
|
|
7
|
-
"types": "dist/index.d.ts",
|
|
8
|
-
"files": [
|
|
9
|
-
"dist/",
|
|
10
|
-
"register/",
|
|
11
|
-
"LICENSE"
|
|
12
|
-
],
|
|
13
|
-
"scripts": {
|
|
14
|
-
"lint": "eslint . --ext .ts",
|
|
15
|
-
"test": "jest --maxWorkers=8 --reporters=default --useStderr --detectOpenHandles",
|
|
16
|
-
"test-next": "jest ./src/tests/unit/api-next/ --maxWorkers=8 --reporters=default --useStderr --detectOpenHandles",
|
|
17
|
-
"clean": "rm -rf dist",
|
|
18
|
-
"build": "yarn clean && yarn tsc",
|
|
19
|
-
"build:watch": "yarn tsc --watch",
|
|
20
|
-
"prepublishOnly": "yarn build",
|
|
21
|
-
"release": "yarn lint && yarn test && yarn doc && yarn build",
|
|
22
|
-
"doc": "typedoc --excludeInternal",
|
|
23
|
-
"doc:dev": "typedoc --out ./doc-dev",
|
|
24
|
-
"tsc": "./node_modules/.bin/tsc",
|
|
25
|
-
"type-check": "yarn lint && tsc --noEmit"
|
|
26
|
-
},
|
|
27
|
-
"engines": {
|
|
28
|
-
"node": ">=14.0.0"
|
|
29
|
-
},
|
|
30
|
-
"repository": {
|
|
31
|
-
"type": "git",
|
|
32
|
-
"url": "git://github.com/stoqey/ib.git"
|
|
33
|
-
},
|
|
34
6
|
"keywords": [
|
|
35
7
|
"interactive",
|
|
36
8
|
"brokers",
|
|
@@ -59,40 +31,66 @@
|
|
|
59
31
|
"library",
|
|
60
32
|
"stoqey"
|
|
61
33
|
],
|
|
34
|
+
"homepage": "https://github.com/stoqey/ib",
|
|
35
|
+
"bugs": {
|
|
36
|
+
"url": "https://github.com/stoqey/ib/issues"
|
|
37
|
+
},
|
|
38
|
+
"repository": {
|
|
39
|
+
"type": "git",
|
|
40
|
+
"url": "git://github.com/stoqey/ib.git"
|
|
41
|
+
},
|
|
42
|
+
"license": "MIT",
|
|
62
43
|
"author": {
|
|
63
44
|
"name": "Ceddy Muhoza",
|
|
64
45
|
"email": "ceddymuhoza@gmail.com",
|
|
65
46
|
"url": "https://ceddy.org"
|
|
66
47
|
},
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"ts-jest": "^26.5.5",
|
|
87
|
-
"typedoc": "^0.21.10",
|
|
88
|
-
"typescript": "^4.2.4"
|
|
48
|
+
"main": "dist/index.js",
|
|
49
|
+
"types": "dist/index.d.ts",
|
|
50
|
+
"files": [
|
|
51
|
+
"dist/",
|
|
52
|
+
"register/",
|
|
53
|
+
"LICENSE"
|
|
54
|
+
],
|
|
55
|
+
"scripts": {
|
|
56
|
+
"build": "yarn clean && yarn tsc",
|
|
57
|
+
"build:watch": "yarn tsc --watch",
|
|
58
|
+
"clean": "rm -rf dist",
|
|
59
|
+
"doc": "typedoc --excludeInternal",
|
|
60
|
+
"doc:dev": "typedoc --out ./doc-dev",
|
|
61
|
+
"lint": "eslint . --ext .ts",
|
|
62
|
+
"prepublishOnly": "yarn build",
|
|
63
|
+
"release": "yarn lint && yarn test && yarn doc && yarn build",
|
|
64
|
+
"test": "jest --maxWorkers=8 --reporters=default --useStderr --detectOpenHandles",
|
|
65
|
+
"test-next": "jest ./src/tests/unit/api-next/ --maxWorkers=8 --reporters=default --useStderr --detectOpenHandles",
|
|
66
|
+
"type-check": "tsc --noEmit"
|
|
89
67
|
},
|
|
90
68
|
"dependencies": {
|
|
91
69
|
"colors": "^1.4.0",
|
|
92
70
|
"command-buffer": "^0.1.0",
|
|
93
|
-
"dotenv": "^
|
|
94
|
-
"eventemitter3": "^
|
|
71
|
+
"dotenv": "^16.3.1",
|
|
72
|
+
"eventemitter3": "^5.0.1",
|
|
95
73
|
"function-rate-limit": "^1.1.0",
|
|
96
74
|
"rxjs": "^7.8.1"
|
|
75
|
+
},
|
|
76
|
+
"devDependencies": {
|
|
77
|
+
"@types/jest": "^29.5.4",
|
|
78
|
+
"@types/node": "^18.17.14",
|
|
79
|
+
"@types/source-map-support": "^0.5.7",
|
|
80
|
+
"@typescript-eslint/eslint-plugin": "^6.5.0",
|
|
81
|
+
"@typescript-eslint/parser": "^6.5.0",
|
|
82
|
+
"ajv": "^8.12.0",
|
|
83
|
+
"eslint": "^8.48.0",
|
|
84
|
+
"eslint-plugin-jest": "^27.2.3",
|
|
85
|
+
"eslint-plugin-rxjs": "^5.0.3",
|
|
86
|
+
"jest": "^29.6.4",
|
|
87
|
+
"jest-environment-node": "^29.6.4",
|
|
88
|
+
"jest-junit": "^16.0.0",
|
|
89
|
+
"ts-jest": "^29.1.1",
|
|
90
|
+
"typedoc": "^0.25.0",
|
|
91
|
+
"typescript": "^4.9.5"
|
|
92
|
+
},
|
|
93
|
+
"engines": {
|
|
94
|
+
"node": ">=18.0.0"
|
|
97
95
|
}
|
|
98
96
|
}
|