@stoqey/ib 1.3.6 → 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/api-next.d.ts +8 -2
- package/dist/api-next/api-next.js +115 -80
- package/dist/api-next/api-next.js.map +1 -1
- package/dist/api-next/common/error.d.ts +2 -0
- package/dist/common/configuration.js +4 -1
- 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 +10 -7
- package/dist/common/logger.js.map +1 -1
- package/dist/core/api-next/auto-connection.js +2 -2
- package/dist/core/api-next/auto-connection.js.map +1 -1
- 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 +1 -2
- package/dist/core/api-next/subscription.js.map +1 -1
- package/dist/core/io/controller.js +4 -6
- 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/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 +21 -24
- 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 +1 -1
- 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/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 +1 -2
- package/dist/tools/historical-ticks-bid-ask.js.map +1 -1
- package/dist/tools/historical-ticks-last.js +2 -4
- package/dist/tools/historical-ticks-last.js.map +1 -1
- package/dist/tools/historical-ticks-mid.js +1 -2
- 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
|
@@ -48,12 +48,11 @@ class PrintAccountSummaryApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
48
48
|
* Start the app.
|
|
49
49
|
*/
|
|
50
50
|
start() {
|
|
51
|
-
var _a, _b;
|
|
52
51
|
const scriptName = path_1.default.basename(__filename);
|
|
53
52
|
logger_1.default.debug(`Starting ${scriptName} script`);
|
|
54
53
|
this.connect(this.cmdLineArgs.watch ? 10000 : 0);
|
|
55
54
|
this.subscription$ = this.api
|
|
56
|
-
.getAccountSummary(
|
|
55
|
+
.getAccountSummary(this.cmdLineArgs.group ?? DEFAULT_GROUP, this.cmdLineArgs.tags ?? DEFAULT_TAGS)
|
|
57
56
|
.subscribe({
|
|
58
57
|
next: (summaries) => {
|
|
59
58
|
this.printObject(summaries);
|
|
@@ -70,8 +69,7 @@ class PrintAccountSummaryApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
70
69
|
* Stop the app with success code.
|
|
71
70
|
*/
|
|
72
71
|
stop() {
|
|
73
|
-
|
|
74
|
-
(_a = this.subscription$) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
72
|
+
this.subscription$?.unsubscribe();
|
|
75
73
|
this.exit();
|
|
76
74
|
}
|
|
77
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-summary.js","sourceRoot":"","sources":["../../src/tools/account-summary.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAIxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,8DAA8D;AAC9D,MAAM,aAAa,GAAG,KAAK,CAAC;AAE5B,4DAA4D;AAC5D,MAAM,YAAY,GAAG,kDAAkD,CAAC;AAExE,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG,+BAA+B,CAAC;AACzD,MAAM,UAAU,GAAG,qCAAqC,CAAC;AACzD,MAAM,gBAAgB,GAAuB;IAC3C;QACE,cAAc;QACd,2CAA2C,aAAa,IAAI;KAC7D;IACD;QACE,iBAAiB;QACjB,6DAA6D,YAAY,GAAG;KAC7E;IACD;QACE,OAAO;QACP,gIAAgI;YAChI,yEAAyE;KAC1E;CACF,CAAC;AACF,MAAM,YAAY,GAChB,0EAA0E,CAAC;AAE7E,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,sBAAuB,SAAQ,8BAAY;IAC/C;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAKD;;OAEG;IACH,KAAK
|
|
1
|
+
{"version":3,"file":"account-summary.js","sourceRoot":"","sources":["../../src/tools/account-summary.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAIxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,8DAA8D;AAC9D,MAAM,aAAa,GAAG,KAAK,CAAC;AAE5B,4DAA4D;AAC5D,MAAM,YAAY,GAAG,kDAAkD,CAAC;AAExE,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG,+BAA+B,CAAC;AACzD,MAAM,UAAU,GAAG,qCAAqC,CAAC;AACzD,MAAM,gBAAgB,GAAuB;IAC3C;QACE,cAAc;QACd,2CAA2C,aAAa,IAAI;KAC7D;IACD;QACE,iBAAiB;QACjB,6DAA6D,YAAY,GAAG;KAC7E;IACD;QACE,OAAO;QACP,gIAAgI;YAChI,yEAAyE;KAC1E;CACF,CAAC;AACF,MAAM,YAAY,GAChB,0EAA0E,CAAC;AAE7E,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,sBAAuB,SAAQ,8BAAY;IAC/C;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;QAE9C,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;aAC1B,iBAAiB,CACf,IAAI,CAAC,WAAW,CAAC,KAAgB,IAAI,aAAa,EAClD,IAAI,CAAC,WAAW,CAAC,IAAe,IAAI,YAAY,CAClD;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,kCAAkC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;YACrE,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,sBAAsB,EAAE,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { Subscription } from "rxjs";
|
|
2
2
|
import { IBApiNext } from "../../api-next";
|
|
3
|
+
import Contract from "../../api/contract/contract";
|
|
3
4
|
/**
|
|
4
5
|
* Base-class for the [[IBApiNext]] apps.
|
|
5
6
|
*/
|
|
6
7
|
export declare class IBApiNextApp {
|
|
8
|
+
static readonly DEFAULT_CONTRACT_OPTIONS: [string, string][];
|
|
9
|
+
static readonly DEFAULT_OPT_CONTRACT_OPTIONS: [string, string][];
|
|
7
10
|
constructor(appDescription: string, usageDescription: string, optionArgumentDescriptions: [string, string][], usageExample: string);
|
|
8
11
|
/** Common command line options of all [[IBApiNext]] apps. */
|
|
9
12
|
private readonly COMMON_OPTION_ARGUMENTS;
|
|
@@ -35,4 +38,5 @@ export declare class IBApiNextApp {
|
|
|
35
38
|
private parseCommandLine;
|
|
36
39
|
/** Format the help text. */
|
|
37
40
|
private formatHelpText;
|
|
41
|
+
getContractParameter(): Contract;
|
|
38
42
|
}
|
|
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.IBApiNextApp = void 0;
|
|
7
|
-
const colors_1 = __importDefault(require("colors"));
|
|
8
7
|
const api_next_1 = require("../../api-next");
|
|
9
8
|
const log_level_1 = __importDefault(require("../../api/data/enum/log-level"));
|
|
10
9
|
const configuration_1 = __importDefault(require("../../common/configuration"));
|
|
@@ -51,9 +50,8 @@ class IBApiNextApp {
|
|
|
51
50
|
/** Connect to TWS. */
|
|
52
51
|
connect(reconnectInterval, clientId) {
|
|
53
52
|
// create the IBApiNext object
|
|
54
|
-
|
|
55
|
-
const
|
|
56
|
-
const host = (_b = this.cmdLineArgs.host) !== null && _b !== void 0 ? _b : configuration_1.default.ib_host;
|
|
53
|
+
const port = this.cmdLineArgs.port ?? configuration_1.default.ib_port;
|
|
54
|
+
const host = this.cmdLineArgs.host ?? configuration_1.default.ib_host;
|
|
57
55
|
logger_1.default.debug(`Logging into server: ${host}:${port}`);
|
|
58
56
|
if (!this.api) {
|
|
59
57
|
this.api = new api_next_1.IBApiNext({
|
|
@@ -85,8 +83,10 @@ class IBApiNextApp {
|
|
|
85
83
|
if (!this.error$) {
|
|
86
84
|
this.error$ = this.api.errorSubject.subscribe((error) => {
|
|
87
85
|
if (error.reqId === -1) {
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
logger_1.default.warn(error.error.message, `(Error #${error.code})`);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
this.error(`${error.error.message} (Error #${error.code}) ${error.advancedOrderReject ? error.advancedOrderReject : ""}`);
|
|
90
90
|
}
|
|
91
91
|
});
|
|
92
92
|
}
|
|
@@ -114,7 +114,7 @@ class IBApiNextApp {
|
|
|
114
114
|
* Print and error to console and exit the app with error code, unless -watch argument is present.
|
|
115
115
|
*/
|
|
116
116
|
error(text) {
|
|
117
|
-
|
|
117
|
+
logger_1.default.error(text);
|
|
118
118
|
if (!this.cmdLineArgs.watch) {
|
|
119
119
|
this.exit(1);
|
|
120
120
|
}
|
|
@@ -123,22 +123,20 @@ class IBApiNextApp {
|
|
|
123
123
|
* Exit the app.
|
|
124
124
|
*/
|
|
125
125
|
exit(exitCode = 0) {
|
|
126
|
-
|
|
127
|
-
(_a = this.error$) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
126
|
+
this.error$?.unsubscribe();
|
|
128
127
|
process.exit(exitCode);
|
|
129
128
|
}
|
|
130
129
|
/** Parse the command line. */
|
|
131
130
|
parseCommandLine(description, usage, optionArguments, example) {
|
|
132
131
|
this.cmdLineArgs = {};
|
|
133
132
|
process.argv.slice(2).forEach((arg) => {
|
|
134
|
-
var _a;
|
|
135
133
|
const pair = arg.split("=");
|
|
136
134
|
const name = pair[0].substr(1);
|
|
137
135
|
if (!optionArguments.find((v) => v[0].split("=")[0] == name)) {
|
|
138
136
|
console.error("ERROR: Unknown argument -" + pair[0]);
|
|
139
|
-
|
|
137
|
+
this.exit(1);
|
|
140
138
|
}
|
|
141
|
-
this.cmdLineArgs[name] = pair.length > 1 ?
|
|
139
|
+
this.cmdLineArgs[name] = pair.length > 1 ? pair[1] ?? "1" : "1";
|
|
142
140
|
});
|
|
143
141
|
if (this.cmdLineArgs.h || this.cmdLineArgs.help) {
|
|
144
142
|
console.info(this.formatHelpText(description, usage, optionArguments, example));
|
|
@@ -153,6 +151,39 @@ class IBApiNextApp {
|
|
|
153
151
|
});
|
|
154
152
|
return result + "Example: " + example;
|
|
155
153
|
}
|
|
154
|
+
getContractParameter() {
|
|
155
|
+
return {
|
|
156
|
+
conId: this.cmdLineArgs.conid ?? undefined,
|
|
157
|
+
secType: this.cmdLineArgs.sectype,
|
|
158
|
+
symbol: this.cmdLineArgs.symbol,
|
|
159
|
+
currency: this.cmdLineArgs.currency ?? "USD",
|
|
160
|
+
exchange: this.cmdLineArgs.exchange ?? "SMART",
|
|
161
|
+
lastTradeDateOrContractMonth: this.cmdLineArgs.expiry,
|
|
162
|
+
strike: this.cmdLineArgs.strike ?? undefined,
|
|
163
|
+
right: this.cmdLineArgs.right,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
156
166
|
}
|
|
157
167
|
exports.IBApiNextApp = IBApiNextApp;
|
|
168
|
+
// private compat_mode: boolean = false;
|
|
169
|
+
IBApiNextApp.DEFAULT_CONTRACT_OPTIONS = [
|
|
170
|
+
["conid=<number>", "Contract ID (conId) of the contract."],
|
|
171
|
+
[
|
|
172
|
+
"sectype=<type>",
|
|
173
|
+
"The security type. Valid values: STK, OPT, FUT, IND, FOP, CFD, CASH, BAG, BOND, CMDTY, NEWS and FUND",
|
|
174
|
+
],
|
|
175
|
+
["symbol=<name>", "The symbol name."],
|
|
176
|
+
["currency=<currency>", "The contract currency."],
|
|
177
|
+
["exchange=<name>", "The destination exchange name."],
|
|
178
|
+
];
|
|
179
|
+
IBApiNextApp.DEFAULT_OPT_CONTRACT_OPTIONS = [
|
|
180
|
+
...IBApiNextApp.DEFAULT_CONTRACT_OPTIONS,
|
|
181
|
+
[
|
|
182
|
+
"expiry=<YYYYMM>",
|
|
183
|
+
"The contract's last trading day or contract month (for Options and Futures)." +
|
|
184
|
+
"Strings with format YYYYMM will be interpreted as the Contract Month whereas YYYYMMDD will be interpreted as Last Trading Day.",
|
|
185
|
+
],
|
|
186
|
+
["strike=<number>", "The option's strike price."],
|
|
187
|
+
["right=<P|C>", " The option type. Valid values are P, PUT, C, CALL."],
|
|
188
|
+
];
|
|
158
189
|
//# sourceMappingURL=ib-api-next-app.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ib-api-next-app.js","sourceRoot":"","sources":["../../../src/tools/common/ib-api-next-app.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"ib-api-next-app.js","sourceRoot":"","sources":["../../../src/tools/common/ib-api-next-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,21 +15,7 @@ const ib_api_next_app_1 = require("./common/ib-api-next-app");
|
|
|
15
15
|
const DESCRIPTION_TEXT = "Requests contract details from TWS and prints it to console.";
|
|
16
16
|
const USAGE_TEXT = "Usage: contract-details.js <options>";
|
|
17
17
|
const OPTION_ARGUMENTS = [
|
|
18
|
-
|
|
19
|
-
["symbol=<name>", "The symbol name."],
|
|
20
|
-
[
|
|
21
|
-
"sectype=<type>",
|
|
22
|
-
"The security type. Valid values: STK, OPT, FUT, IND, FOP, CFD, CASH, BAG, BOND, CMDTY, NEWS, FUND and CRYPTO.",
|
|
23
|
-
],
|
|
24
|
-
["exchange=<name>", "The destination exchange name."],
|
|
25
|
-
["currency=<currency>", "The contract currency."],
|
|
26
|
-
[
|
|
27
|
-
"expiry=<YYYYMM>",
|
|
28
|
-
"The contract's last trading day or contract month (for Options and Futures)." +
|
|
29
|
-
"Strings with format YYYYMM will be interpreted as the Contract Month whereas YYYYMMDD will be interpreted as Last Trading Day.",
|
|
30
|
-
],
|
|
31
|
-
["strike=<number>", "The option's strike price."],
|
|
32
|
-
["right=<P|C>", " The option type. Valid values are P, PUT, C, CALL."],
|
|
18
|
+
...ib_api_next_app_1.IBApiNextApp.DEFAULT_CONTRACT_OPTIONS,
|
|
33
19
|
];
|
|
34
20
|
const EXAMPLE_TEXT = "contract-details.ts -symbol=AMZN -sectype=STK -currency=USD";
|
|
35
21
|
//////////////////////////////////////////////////////////////////////////////
|
|
@@ -43,21 +29,11 @@ class PrintContractDetailsApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
43
29
|
* Start the app.
|
|
44
30
|
*/
|
|
45
31
|
start() {
|
|
46
|
-
var _a, _b;
|
|
47
32
|
const scriptName = path_1.default.basename(__filename);
|
|
48
33
|
logger_1.default.debug(`Starting ${scriptName} script`);
|
|
49
34
|
this.connect();
|
|
50
35
|
this.api
|
|
51
|
-
.getContractDetails(
|
|
52
|
-
symbol: this.cmdLineArgs.symbol,
|
|
53
|
-
conId: (_a = this.cmdLineArgs.conid) !== null && _a !== void 0 ? _a : undefined,
|
|
54
|
-
secType: this.cmdLineArgs.sectype,
|
|
55
|
-
exchange: this.cmdLineArgs.exchange,
|
|
56
|
-
currency: this.cmdLineArgs.currency,
|
|
57
|
-
lastTradeDateOrContractMonth: this.cmdLineArgs.expiry,
|
|
58
|
-
strike: (_b = this.cmdLineArgs.strike) !== null && _b !== void 0 ? _b : undefined,
|
|
59
|
-
right: this.cmdLineArgs.right,
|
|
60
|
-
})
|
|
36
|
+
.getContractDetails(this.getContractParameter())
|
|
61
37
|
.then((details) => {
|
|
62
38
|
this.printObject(details);
|
|
63
39
|
this.stop();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-details.js","sourceRoot":"","sources":["../../src/tools/contract-details.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;
|
|
1
|
+
{"version":3,"file":"contract-details.js","sourceRoot":"","sources":["../../src/tools/contract-details.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAGxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GACpB,8DAA8D,CAAC;AACjE,MAAM,UAAU,GAAG,sCAAsC,CAAC;AAC1D,MAAM,gBAAgB,GAAuB;IAC3C,GAAG,8BAAY,CAAC,wBAAwB;CACzC,CAAC;AACF,MAAM,YAAY,GAChB,6DAA6D,CAAC;AAEhE,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,uBAAwB,SAAQ,8BAAY;IAChD;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,EAAE,CAAC;QAEf,IAAI,CAAC,GAAG;aACL,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC/C,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAmB,EAAE,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,mCAAmC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;CACF;AAED,cAAc;AAEd,IAAI,uBAAuB,EAAE,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -15,21 +15,7 @@ const ib_api_next_app_1 = require("./common/ib-api-next-app");
|
|
|
15
15
|
const DESCRIPTION_TEXT = "Prints the timestamp of earliest available historical data for a contract.";
|
|
16
16
|
const USAGE_TEXT = "Usage: get-head-timestamp.js <options>";
|
|
17
17
|
const OPTION_ARGUMENTS = [
|
|
18
|
-
|
|
19
|
-
["symbol=<name>", "The symbol name."],
|
|
20
|
-
[
|
|
21
|
-
"sectype=<type>",
|
|
22
|
-
"The security type. Valid values: STK, OPT, FUT, IND, FOP, CFD, CASH, BAG, BOND, CMDTY, NEWS and FUND",
|
|
23
|
-
],
|
|
24
|
-
["exchange=<name>", "The destination exchange name."],
|
|
25
|
-
["currency=<currency>", "The contract currency."],
|
|
26
|
-
[
|
|
27
|
-
"expiry=<YYYYMM>",
|
|
28
|
-
"The contract's last trading day or contract month (for Options and Futures)." +
|
|
29
|
-
"Strings with format YYYYMM will be interpreted as the Contract Month whereas YYYYMMDD will be interpreted as Last Trading Day.",
|
|
30
|
-
],
|
|
31
|
-
["strike=<number>", "The option's strike price."],
|
|
32
|
-
["right=<P|C>", " The option type. Valid values are P, PUT, C, CALL."],
|
|
18
|
+
...ib_api_next_app_1.IBApiNextApp.DEFAULT_CONTRACT_OPTIONS,
|
|
33
19
|
];
|
|
34
20
|
const EXAMPLE_TEXT = "get-head-timestamp.js -symbol=AMZN -sectype=STK -currency=USD -exchange=SMART -conid=3691937 -port=4002";
|
|
35
21
|
//////////////////////////////////////////////////////////////////////////////
|
|
@@ -43,22 +29,12 @@ class PrintHeadTimestampApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
43
29
|
* Start the app.
|
|
44
30
|
*/
|
|
45
31
|
start() {
|
|
46
|
-
var _a, _b;
|
|
47
32
|
const scriptName = path_1.default.basename(__filename);
|
|
48
33
|
logger_1.default.debug(`Starting ${scriptName} script`);
|
|
49
34
|
this.connect(0);
|
|
50
35
|
// print next unused order id
|
|
51
36
|
this.api
|
|
52
|
-
.getHeadTimestamp(
|
|
53
|
-
symbol: this.cmdLineArgs.symbol,
|
|
54
|
-
conId: (_a = this.cmdLineArgs.conid) !== null && _a !== void 0 ? _a : undefined,
|
|
55
|
-
secType: this.cmdLineArgs.sectype,
|
|
56
|
-
exchange: this.cmdLineArgs.exchange,
|
|
57
|
-
currency: this.cmdLineArgs.currency,
|
|
58
|
-
lastTradeDateOrContractMonth: this.cmdLineArgs.expiry,
|
|
59
|
-
strike: (_b = this.cmdLineArgs.strike) !== null && _b !== void 0 ? _b : undefined,
|
|
60
|
-
right: this.cmdLineArgs.right,
|
|
61
|
-
}, "TRADES", true, 1)
|
|
37
|
+
.getHeadTimestamp(this.getContractParameter(), "TRADES", true, 1)
|
|
62
38
|
.then((timestamp) => {
|
|
63
39
|
this.printText(timestamp);
|
|
64
40
|
this.exit();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-head-timestamp.js","sourceRoot":"","sources":["../../src/tools/get-head-timestamp.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;
|
|
1
|
+
{"version":3,"file":"get-head-timestamp.js","sourceRoot":"","sources":["../../src/tools/get-head-timestamp.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAGxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GACpB,4EAA4E,CAAC;AAC/E,MAAM,UAAU,GAAG,wCAAwC,CAAC;AAC5D,MAAM,gBAAgB,GAAuB;IAC3C,GAAG,8BAAY,CAAC,wBAAwB;CACzC,CAAC;AACF,MAAM,YAAY,GAChB,yGAAyG,CAAC;AAE5G,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,qBAAsB,SAAQ,8BAAY;IAC9C;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;QAEhB,6BAA6B;QAC7B,IAAI,CAAC,GAAG;aACL,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aAChE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAmB,EAAE,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,iCAAiC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACP,CAAC;CACF;AAED,cAAc;AACd,IAAI,qBAAqB,EAAE,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -64,8 +64,7 @@ class PrintPositionsApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
64
64
|
* Stop the app with success code.
|
|
65
65
|
*/
|
|
66
66
|
stop() {
|
|
67
|
-
|
|
68
|
-
(_a = this.subscription$) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
67
|
+
this.subscription$?.unsubscribe();
|
|
69
68
|
this.exit();
|
|
70
69
|
}
|
|
71
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"historical-data-updates.js","sourceRoot":"","sources":["../../src/tools/historical-data-updates.ts"],"names":[],"mappings":";;;;;AAAA;;GAEG;AACH,gDAAwB;AAIxB,8DAAsC;AACtC,8DAAwD;AAGxD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG,4CAA4C,CAAC;AACtE,MAAM,UAAU,GAAG,qCAAqC,CAAC;AACzD,MAAM,gBAAgB,GAAuB;IAC3C;QACE,gBAAgB;QAChB,kFAAkF;KACnF;IACD,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;IACrD,CAAC,0BAA0B,EAAE,kCAAkC,CAAC;CACjE,CAAC;AACF,MAAM,YAAY,GAChB,4EAA4E,CAAC;AAE/E,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;QAE9C,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;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;SAC1C;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG;aAC1B,wBAAwB,CACvB;YACE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAe;YACvC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAkB;SAC9C,EACD,IAAI,CAAC,WAAW,CAAC,OAAyB,EAC1C,UAAU,EACV,CAAC,CACF;aACA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;gBACZ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;YACD,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE;gBAC7B,IAAI,CAAC,KAAK,CACR,yCAAyC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAC9D,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,IAAI
|
|
1
|
+
{"version":3,"file":"historical-data-updates.js","sourceRoot":"","sources":["../../src/tools/historical-data-updates.ts"],"names":[],"mappings":";;;;;AAAA;;GAEG;AACH,gDAAwB;AAIxB,8DAAsC;AACtC,8DAAwD;AAGxD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG,4CAA4C,CAAC;AACtE,MAAM,UAAU,GAAG,qCAAqC,CAAC;AACzD,MAAM,gBAAgB,GAAuB;IAC3C;QACE,gBAAgB;QAChB,kFAAkF;KACnF;IACD,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;IACrD,CAAC,0BAA0B,EAAE,kCAAkC,CAAC;CACjE,CAAC;AACF,MAAM,YAAY,GAChB,4EAA4E,CAAC;AAE/E,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;QAE9C,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;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;SAC1C;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG;aAC1B,wBAAwB,CACvB;YACE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAe;YACvC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAkB;SAC9C,EACD,IAAI,CAAC,WAAW,CAAC,OAAyB,EAC1C,UAAU,EACV,CAAC,CACF;aACA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;gBACZ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;YACD,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE;gBAC7B,IAAI,CAAC,KAAK,CACR,yCAAyC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAC9D,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,iBAAiB,EAAE,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -50,7 +50,6 @@ class PrintHistoricalTicksMidApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
50
50
|
* Start the app.
|
|
51
51
|
*/
|
|
52
52
|
start() {
|
|
53
|
-
var _a;
|
|
54
53
|
const scriptName = path_1.default.basename(__filename);
|
|
55
54
|
logger_1.default.debug(`Starting ${scriptName} script`);
|
|
56
55
|
if (!this.cmdLineArgs.conid) {
|
|
@@ -76,7 +75,7 @@ class PrintHistoricalTicksMidApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
76
75
|
(0, rxjs_1.lastValueFrom)(this.api.getHistoricalTicksBidAsk({
|
|
77
76
|
conId: this.cmdLineArgs.conid,
|
|
78
77
|
exchange: this.cmdLineArgs.exchange,
|
|
79
|
-
}, this.cmdLineArgs.start, this.cmdLineArgs.end, this.cmdLineArgs.count,
|
|
78
|
+
}, this.cmdLineArgs.start, this.cmdLineArgs.end, this.cmdLineArgs.count, this.cmdLineArgs.rth ?? 1, false))
|
|
80
79
|
.then((ticks) => {
|
|
81
80
|
this.printObject(ticks);
|
|
82
81
|
this.stop();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"historical-ticks-bid-ask.js","sourceRoot":"","sources":["../../src/tools/historical-ticks-bid-ask.ts"],"names":[],"mappings":";;;;;AAAA;;GAEG;AACH,gDAAwB;AACxB,+BAAqC;AAGrC,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GACpB,qEAAqE,CAAC;AACxE,MAAM,UAAU,GAAG,0CAA0C,CAAC;AAC9D,MAAM,gBAAgB,GAAuB;IAC3C;QACE,gBAAgB;QAChB,uGAAuG;KACxG;IACD,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;IACrD;QACE,wBAAwB;QACxB,iIAAiI;KAClI;IACD;QACE,sBAAsB;QACtB,4GAA4G;KAC7G;IACD;QACE,gBAAgB;QAChB,kEAAkE;KACnE;IACD;QACE,WAAW;QACX,0FAA0F;KAC3F;CACF,CAAC;AACF,MAAM,YAAY,GAChB,4FAA4F,CAAC;AAE/F,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,0BAA2B,SAAQ,8BAAY;IACnD;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,KAAK
|
|
1
|
+
{"version":3,"file":"historical-ticks-bid-ask.js","sourceRoot":"","sources":["../../src/tools/historical-ticks-bid-ask.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,7 +50,6 @@ class PrintHistoricalTicksLastApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
50
50
|
* Start the app.
|
|
51
51
|
*/
|
|
52
52
|
start() {
|
|
53
|
-
var _a;
|
|
54
53
|
const scriptName = path_1.default.basename(__filename);
|
|
55
54
|
logger_1.default.debug(`Starting ${scriptName} script`);
|
|
56
55
|
if (!this.cmdLineArgs.conid) {
|
|
@@ -76,7 +75,7 @@ class PrintHistoricalTicksLastApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
76
75
|
(0, rxjs_1.lastValueFrom)(this.api.getHistoricalTicksLast({
|
|
77
76
|
conId: this.cmdLineArgs.conid,
|
|
78
77
|
exchange: this.cmdLineArgs.exchange,
|
|
79
|
-
}, this.cmdLineArgs.start, this.cmdLineArgs.end, this.cmdLineArgs.count,
|
|
78
|
+
}, this.cmdLineArgs.start, this.cmdLineArgs.end, this.cmdLineArgs.count, this.cmdLineArgs.rth ?? 1))
|
|
80
79
|
.then((ticks) => {
|
|
81
80
|
this.printObject(ticks);
|
|
82
81
|
this.stop();
|
|
@@ -89,8 +88,7 @@ class PrintHistoricalTicksLastApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
89
88
|
* Stop the app with success code.
|
|
90
89
|
*/
|
|
91
90
|
stop() {
|
|
92
|
-
|
|
93
|
-
(_a = this.subscription$) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
91
|
+
this.subscription$?.unsubscribe();
|
|
94
92
|
this.exit();
|
|
95
93
|
}
|
|
96
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"historical-ticks-last.js","sourceRoot":"","sources":["../../src/tools/historical-ticks-last.ts"],"names":[],"mappings":";;;;;AAAA;;GAEG;AACH,gDAAwB;AACxB,+BAAmD;AAGnD,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GACpB,sEAAsE,CAAC;AACzE,MAAM,UAAU,GAAG,0CAA0C,CAAC;AAC9D,MAAM,gBAAgB,GAAuB;IAC3C;QACE,gBAAgB;QAChB,wGAAwG;KACzG;IACD,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;IACrD;QACE,wBAAwB;QACxB,iIAAiI;KAClI;IACD;QACE,sBAAsB;QACtB,4GAA4G;KAC7G;IACD;QACE,gBAAgB;QAChB,kEAAkE;KACnE;IACD;QACE,WAAW;QACX,0FAA0F;KAC3F;CACF,CAAC;AACF,MAAM,YAAY,GAChB,4FAA4F,CAAC;AAE/F,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,2BAA4B,SAAQ,8BAAY;IACpD;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAKD;;OAEG;IACH,KAAK
|
|
1
|
+
{"version":3,"file":"historical-ticks-last.js","sourceRoot":"","sources":["../../src/tools/historical-ticks-last.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,7 +50,6 @@ class PrintHistoricalTicksMidApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
50
50
|
* Start the app.
|
|
51
51
|
*/
|
|
52
52
|
start() {
|
|
53
|
-
var _a;
|
|
54
53
|
const scriptName = path_1.default.basename(__filename);
|
|
55
54
|
logger_1.default.debug(`Starting ${scriptName} script`);
|
|
56
55
|
if (!this.cmdLineArgs.conid) {
|
|
@@ -76,7 +75,7 @@ class PrintHistoricalTicksMidApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
76
75
|
(0, rxjs_1.lastValueFrom)(this.api.getHistoricalTicksMid({
|
|
77
76
|
conId: this.cmdLineArgs.conid,
|
|
78
77
|
exchange: this.cmdLineArgs.exchange,
|
|
79
|
-
}, this.cmdLineArgs.start, this.cmdLineArgs.end, this.cmdLineArgs.count,
|
|
78
|
+
}, this.cmdLineArgs.start, this.cmdLineArgs.end, this.cmdLineArgs.count, this.cmdLineArgs.rth ?? 1))
|
|
80
79
|
.then((ticks) => {
|
|
81
80
|
this.printObject(ticks);
|
|
82
81
|
this.stop();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"historical-ticks-mid.js","sourceRoot":"","sources":["../../src/tools/historical-ticks-mid.ts"],"names":[],"mappings":";;;;;AAAA;;GAEG;AACH,gDAAwB;AACxB,+BAAqC;AAGrC,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GACpB,+DAA+D,CAAC;AAClE,MAAM,UAAU,GAAG,0CAA0C,CAAC;AAC9D,MAAM,gBAAgB,GAAuB;IAC3C;QACE,gBAAgB;QAChB,iGAAiG;KAClG;IACD,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;IACrD;QACE,wBAAwB;QACxB,iIAAiI;KAClI;IACD;QACE,sBAAsB;QACtB,4GAA4G;KAC7G;IACD;QACE,gBAAgB;QAChB,kEAAkE;KACnE;IACD;QACE,WAAW;QACX,0FAA0F;KAC3F;CACF,CAAC;AACF,MAAM,YAAY,GAChB,4FAA4F,CAAC;AAE/F,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,0BAA2B,SAAQ,8BAAY;IACnD;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,KAAK
|
|
1
|
+
{"version":3,"file":"historical-ticks-mid.js","sourceRoot":"","sources":["../../src/tools/historical-ticks-mid.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,27 +13,13 @@ const ib_api_next_app_1 = require("./common/ib-api-next-app");
|
|
|
13
13
|
/////////////////////////////////////////////////////////////////////////////////
|
|
14
14
|
// The help text //
|
|
15
15
|
/////////////////////////////////////////////////////////////////////////////////
|
|
16
|
-
const DESCRIPTION_TEXT = "Print real time market data of a given contract id.";
|
|
17
|
-
const USAGE_TEXT = "Usage: market-data.js <options>";
|
|
16
|
+
const DESCRIPTION_TEXT = "Print snapshot of real time market data of a given contract id.";
|
|
17
|
+
const USAGE_TEXT = "Usage: market-data-snapshot.js <options>";
|
|
18
18
|
const OPTION_ARGUMENTS = [
|
|
19
|
-
|
|
20
|
-
["symbol=<name>", "The symbol name."],
|
|
21
|
-
[
|
|
22
|
-
"sectype=<type>",
|
|
23
|
-
"The security type. Valid values: STK, OPT, FUT, IND, FOP, CFD, CASH, BAG, BOND, CMDTY, NEWS and FUND",
|
|
24
|
-
],
|
|
25
|
-
["exchange=<name>", "The destination exchange name."],
|
|
26
|
-
["currency=<currency>", "The contract currency."],
|
|
27
|
-
[
|
|
28
|
-
"expiry=<YYYYMM>",
|
|
29
|
-
"The contract's last trading day or contract month (for Options and Futures)." +
|
|
30
|
-
"Strings with format YYYYMM will be interpreted as the Contract Month whereas YYYYMMDD will be interpreted as Last Trading Day.",
|
|
31
|
-
],
|
|
32
|
-
["strike=<number>", "The option's strike price."],
|
|
33
|
-
["right=<P|C>", " The option type. Valid values are P, PUT, C, CALL."],
|
|
19
|
+
...ib_api_next_app_1.IBApiNextApp.DEFAULT_CONTRACT_OPTIONS,
|
|
34
20
|
["ticks=<ticks>", "Comma separated list of generic ticks to fetch."],
|
|
35
21
|
];
|
|
36
|
-
const EXAMPLE_TEXT = "market-data-
|
|
22
|
+
const EXAMPLE_TEXT = "market-data-snapshot.js -symbol=AAPL -conid=265598 -sectype=STK -exchange=SMART";
|
|
37
23
|
//////////////////////////////////////////////////////////////////////////////
|
|
38
24
|
// The App code //
|
|
39
25
|
//////////////////////////////////////////////////////////////////////////////
|
|
@@ -45,22 +31,12 @@ class PrintMarketDataSingleApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
45
31
|
* Start the app.
|
|
46
32
|
*/
|
|
47
33
|
start() {
|
|
48
|
-
var _a, _b;
|
|
49
34
|
const scriptName = path_1.default.basename(__filename);
|
|
50
35
|
logger_1.default.debug(`Starting ${scriptName} script`);
|
|
51
36
|
this.connect(this.cmdLineArgs.watch ? 10000 : 0);
|
|
52
|
-
this.api.setMarketDataType(api_next_1.MarketDataType.
|
|
37
|
+
this.api.setMarketDataType(api_next_1.MarketDataType.DELAYED_FROZEN);
|
|
53
38
|
this.api
|
|
54
|
-
.
|
|
55
|
-
conId: (_a = this.cmdLineArgs.conid) !== null && _a !== void 0 ? _a : undefined,
|
|
56
|
-
symbol: this.cmdLineArgs.symbol,
|
|
57
|
-
secType: this.cmdLineArgs.sectype,
|
|
58
|
-
exchange: this.cmdLineArgs.exchange,
|
|
59
|
-
currency: this.cmdLineArgs.currency,
|
|
60
|
-
lastTradeDateOrContractMonth: this.cmdLineArgs.expiry,
|
|
61
|
-
strike: (_b = this.cmdLineArgs.strike) !== null && _b !== void 0 ? _b : undefined,
|
|
62
|
-
right: this.cmdLineArgs.right,
|
|
63
|
-
}, this.cmdLineArgs.ticks, false)
|
|
39
|
+
.getMarketDataSnapshot(this.getContractParameter(), this.cmdLineArgs.ticks, false)
|
|
64
40
|
.then((marketData) => {
|
|
65
41
|
// this.printObject(marketData);
|
|
66
42
|
const dataWithTickNames = new Map();
|
|
@@ -76,19 +52,17 @@ class PrintMarketDataSingleApp extends ib_api_next_app_1.IBApiNextApp {
|
|
|
76
52
|
this.stop();
|
|
77
53
|
})
|
|
78
54
|
.catch((err) => {
|
|
79
|
-
this.error(`getMarketDataSingle failed with '${err.error.message}'
|
|
80
|
-
this.stop();
|
|
55
|
+
this.error(`getMarketDataSingle failed with '${err.error.message}'`);
|
|
81
56
|
});
|
|
82
57
|
}
|
|
83
58
|
/**
|
|
84
59
|
* Stop the app with success code.
|
|
85
60
|
*/
|
|
86
61
|
stop() {
|
|
87
|
-
|
|
88
|
-
(_a = this.subscription$) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
62
|
+
this.subscription$?.unsubscribe();
|
|
89
63
|
this.exit();
|
|
90
64
|
}
|
|
91
65
|
}
|
|
92
66
|
// run the app
|
|
93
67
|
new PrintMarketDataSingleApp().start();
|
|
94
|
-
//# sourceMappingURL=market-data-
|
|
68
|
+
//# sourceMappingURL=market-data-snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market-data-snapshot.js","sourceRoot":"","sources":["../../src/tools/market-data-snapshot.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAGxB,0CAKqB;AACrB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GACpB,iEAAiE,CAAC;AACpE,MAAM,UAAU,GAAG,0CAA0C,CAAC;AAC9D,MAAM,gBAAgB,GAAuB;IAC3C,GAAG,8BAAY,CAAC,wBAAwB;IACxC,CAAC,eAAe,EAAE,iDAAiD,CAAC;CACrE,CAAC;AACF,MAAM,YAAY,GAChB,iFAAiF,CAAC;AAEpF,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,wBAAyB,SAAQ,8BAAY;IACjD;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,GAAG;aACL,qBAAqB,CACpB,IAAI,CAAC,oBAAoB,EAAE,EAC3B,IAAI,CAAC,WAAW,CAAC,KAAe,EAChC,KAAK,CACN;aACA,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;YACnB,gCAAgC;YAChC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;YACpD,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBAChC,IAAI,IAAI,GAAG,4BAAiB,CAAC,sBAAsB,EAAE;oBACnD,iBAAiB,CAAC,GAAG,CAAC,4BAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC5D;qBAAM;oBACL,iBAAiB,CAAC,GAAG,CAAC,wBAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;iBACxD;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;YACpC,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,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;CACF;AAED,cAAc;AAEd,IAAI,wBAAwB,EAAE,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -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
|
}
|