UNPKG

@stoqey/ib

Version:

Interactive Brokers TWS/IB Gateway API client library for Node.js (TS)

242 lines 15.3 kB
"use strict"; /** * [[IBApi]] error event codes. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.isNonFatalError = exports.ErrorCode = void 0; /* eslint-disable @typescript-eslint/no-duplicate-enum-values */ var ErrorCode; (function (ErrorCode) { /** No request id associated to this error */ ErrorCode[ErrorCode["NO_VALID_ID"] = -1] = "NO_VALID_ID"; /** Order Canceled - reason: */ ErrorCode[ErrorCode["ORDER_CANCELLED"] = 202] = "ORDER_CANCELLED"; /** Order Message: BUY 1 SPY ARCA Warning: your order will not be placed at the exchange until 2024-12-02 04:00:00 US/Eastern (#399) */ ErrorCode[ErrorCode["ORDER_MESSAGE"] = 399] = "ORDER_MESSAGE"; /** You must subscribe for additional permissions to obtain precise results for scanner.Parameter:Most Active,Filter:Price;Real-Time Market Data:Pink Sheets */ ErrorCode[ErrorCode["SCANNER_LOW_PRECISION"] = 492] = "SCANNER_LOW_PRECISION"; /** Requested market data is not subscribed. Delayed market data is not available. */ ErrorCode[ErrorCode["REQ_MKT_DATA_NOT_AVAIL"] = 354] = "REQ_MKT_DATA_NOT_AVAIL"; /** No trading permissions. */ ErrorCode[ErrorCode["NO_TRADING_PERMISSIONS"] = 460] = "NO_TRADING_PERMISSIONS"; /** Already connected. */ ErrorCode[ErrorCode["ALREADY_CONNECTED"] = 501] = "ALREADY_CONNECTED"; /** * Couldn't connect to TWS. * * Confirm that "Enable ActiveX and Socket Clients" is enabled and connection port is the same as Socket Port on * the TWS "Edit->Global Configuration...->API->Settings" menu. * * Live Trading ports: TWS: 7496; IB Gateway: 4001. * * Simulated Trading ports for new installations of version 954.1 or newer: TWS: 7497; IB Gateway: 4002 */ ErrorCode[ErrorCode["CONNECT_FAIL"] = 502] = "CONNECT_FAIL"; /** The TWS is out of date and must be upgraded. */ ErrorCode[ErrorCode["UPDATE_TWS"] = 503] = "UPDATE_TWS"; /** Not connected. */ ErrorCode[ErrorCode["NOT_CONNECTED"] = 504] = "NOT_CONNECTED"; /** Fatal Error: Unknown message id. */ ErrorCode[ErrorCode["UNKNOWN_ID"] = 505] = "UNKNOWN_ID"; /** Unsupported Version. */ ErrorCode[ErrorCode["UNSUPPORTED_VERSION"] = 506] = "UNSUPPORTED_VERSION"; /** Bad Message Length. */ ErrorCode[ErrorCode["BAD_LENGTH"] = 507] = "BAD_LENGTH"; /** Bad Message. */ ErrorCode[ErrorCode["BAD_MESSAGE"] = 508] = "BAD_MESSAGE"; /** Failed to send message. */ ErrorCode[ErrorCode["FAIL_SEND"] = 509] = "FAIL_SEND"; /** Request Market Data Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQMKT"] = 510] = "FAIL_SEND_REQMKT"; /** Cancel Market Data Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_CANMKT"] = 511] = "FAIL_SEND_CANMKT"; /** Order Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_ORDER"] = 512] = "FAIL_SEND_ORDER"; /** Account Update Request Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_ACCT"] = 513] = "FAIL_SEND_ACCT"; /** Request For Executions Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_EXEC"] = 514] = "FAIL_SEND_EXEC"; /** Cancel Order Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_CORDER"] = 515] = "FAIL_SEND_CORDER"; /** Request Open Order Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_OORDER"] = 516] = "FAIL_SEND_OORDER"; /** Unknown contract. Verify the contract details supplied. */ ErrorCode[ErrorCode["UNKNOWN_CONTRACT"] = 517] = "UNKNOWN_CONTRACT"; /** Request Contract Data Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQCONTRACT"] = 518] = "FAIL_SEND_REQCONTRACT"; /** Request Market Depth Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQMKTDEPTH"] = 519] = "FAIL_SEND_REQMKTDEPTH"; /** Cancel Market Depth Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_CANMKTDEPTH"] = 520] = "FAIL_SEND_CANMKTDEPTH"; /** Set Server Log Level Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_SERVER_LOG_LEVEL"] = 521] = "FAIL_SEND_SERVER_LOG_LEVEL"; /** FA Information Request Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_FA_REQUEST"] = 522] = "FAIL_SEND_FA_REQUEST"; /** FA Information Replace Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_FA_REPLACE"] = 523] = "FAIL_SEND_FA_REPLACE"; /** Request Scanner Subscription Sending Error . */ ErrorCode[ErrorCode["FAIL_SEND_REQSCANNER"] = 524] = "FAIL_SEND_REQSCANNER"; /** Cancel Scanner Subscription Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_CANSCANNER"] = 525] = "FAIL_SEND_CANSCANNER"; /** Request Scanner Parameter Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQSCANNERPARAMETERS"] = 526] = "FAIL_SEND_REQSCANNERPARAMETERS"; /** Request Historical Data Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQHISTDATA"] = 527] = "FAIL_SEND_REQHISTDATA"; /** Request Historical Data Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_CANHISTDATA"] = 528] = "FAIL_SEND_CANHISTDATA"; /** Request Real-time Bar Data Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQRTBARS"] = 529] = "FAIL_SEND_REQRTBARS"; /** Cancel Real-time Bar Data Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_CANRTBARS"] = 530] = "FAIL_SEND_CANRTBARS"; /** Request Current Time Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQCURRTIME"] = 531] = "FAIL_SEND_REQCURRTIME"; /** Request Fundamental Data Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQFUNDDATA"] = 532] = "FAIL_SEND_REQFUNDDATA"; /** Cancel Fundamental Data Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_CANFUNDDATA"] = 533] = "FAIL_SEND_CANFUNDDATA"; /** Request Calculate Implied Volatility Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQCALCIMPLIEDVOLAT"] = 534] = "FAIL_SEND_REQCALCIMPLIEDVOLAT"; /** Request Calculate Option Price Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQCALCOPTIONPRICE"] = 535] = "FAIL_SEND_REQCALCOPTIONPRICE"; /** Cancel Calculate Implied Volatility Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_CANCALCIMPLIEDVOLAT"] = 536] = "FAIL_SEND_CANCALCIMPLIEDVOLAT"; /** Cancel Calculate Option Price Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_CANCALCOPTIONPRICE"] = 537] = "FAIL_SEND_CANCALCOPTIONPRICE"; /** Request Global Cancel Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQGLOBALCANCEL"] = 538] = "FAIL_SEND_REQGLOBALCANCEL"; /** Request Market Data Type Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQMARKETDATATYPE"] = 539] = "FAIL_SEND_REQMARKETDATATYPE"; /** Request Positions Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQPOSITIONS"] = 540] = "FAIL_SEND_REQPOSITIONS"; /** Cancel Positions Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_CANPOSITIONS"] = 541] = "FAIL_SEND_CANPOSITIONS"; /** Request Account Data Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQACCOUNTDATA"] = 542] = "FAIL_SEND_REQACCOUNTDATA"; /** Cancel Account Data Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_CANACCOUNTDATA"] = 543] = "FAIL_SEND_CANACCOUNTDATA"; /** Verify Request Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_VERIFYREQUEST"] = 544] = "FAIL_SEND_VERIFYREQUEST"; /** Verify Message Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_VERIFYMESSAGE"] = 545] = "FAIL_SEND_VERIFYMESSAGE"; /** Query Display Groups Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_QUERYDISPLAYGROUPS"] = 546] = "FAIL_SEND_QUERYDISPLAYGROUPS"; /** Subscribe To Group Events Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_SUBSCRIBETOGROUPEVENTS"] = 547] = "FAIL_SEND_SUBSCRIBETOGROUPEVENTS"; /** Update Display Group Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_UPDATEDISPLAYGROUP"] = 548] = "FAIL_SEND_UPDATEDISPLAYGROUP"; /** Unsubscribe From Group Events Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_UNSUBSCRIBEFROMGROUPEVENTS"] = 549] = "FAIL_SEND_UNSUBSCRIBEFROMGROUPEVENTS"; /** Start API Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_STARTAPI"] = 550] = "FAIL_SEND_STARTAPI"; /** Verify And Auth Request Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_VERIFYANDAUTHREQUEST"] = 551] = "FAIL_SEND_VERIFYANDAUTHREQUEST"; /** Verify And Auth Message Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_VERIFYANDAUTHMESSAGE"] = 552] = "FAIL_SEND_VERIFYANDAUTHMESSAGE"; /** Request Positions Multi Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQPOSITIONSMULTI"] = 553] = "FAIL_SEND_REQPOSITIONSMULTI"; /** Cancel Positions Multi Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_CANPOSITIONSMULTI"] = 554] = "FAIL_SEND_CANPOSITIONSMULTI"; /** Request Account Updates Multi Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQACCOUNTUPDATESMULTI"] = 555] = "FAIL_SEND_REQACCOUNTUPDATESMULTI"; /** Cancel Account Updates Multi Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_CANACCOUNTUPDATESMULTI"] = 556] = "FAIL_SEND_CANACCOUNTUPDATESMULTI"; /** Request Security Definition Option Params Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQSECDEFOPTPARAMS"] = 557] = "FAIL_SEND_REQSECDEFOPTPARAMS"; /** Request Soft Dollar Tiers Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQSOFTDOLLARTIERS"] = 558] = "FAIL_SEND_REQSOFTDOLLARTIERS"; /** Request Family Codes Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQFAMILYCODES"] = 559] = "FAIL_SEND_REQFAMILYCODES"; /** Request Matching Symbols Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQMATCHINGSYMBOLS"] = 560] = "FAIL_SEND_REQMATCHINGSYMBOLS"; /** Request Market Depth Exchanges Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQMKTDEPTHEXCHANGES"] = 561] = "FAIL_SEND_REQMKTDEPTHEXCHANGES"; /** Request Smart Components Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQSMARTCOMPONENTS"] = 562] = "FAIL_SEND_REQSMARTCOMPONENTS"; /** Request News Providers Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQNEWSPROVIDERS"] = 563] = "FAIL_SEND_REQNEWSPROVIDERS"; /** Request News Article Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQNEWSARTICLE"] = 564] = "FAIL_SEND_REQNEWSARTICLE"; /** Request Historical News Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQHISTORICALNEWS"] = 565] = "FAIL_SEND_REQHISTORICALNEWS"; /** Request Head Time Stamp Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQHEADTIMESTAMP"] = 566] = "FAIL_SEND_REQHEADTIMESTAMP"; /** CRequest Histogram Data Sending Error */ ErrorCode[ErrorCode["FAIL_SEND_REQHISTOGRAMDATA"] = 567] = "FAIL_SEND_REQHISTOGRAMDATA"; /** Request Market Rule Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_CANCELHISTOGRAMDATA"] = 568] = "FAIL_SEND_CANCELHISTOGRAMDATA"; /** Cancel PnL Single Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_CANCELHEADTIMESTAMP"] = 569] = "FAIL_SEND_CANCELHEADTIMESTAMP"; /** Request Historical Ticks Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_HISTORICAL_TICK"] = 569] = "FAIL_SEND_HISTORICAL_TICK"; /** Request Market Rule Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQMARKETRULE"] = 570] = "FAIL_SEND_REQMARKETRULE"; /** Request PnL Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQPNL"] = 571] = "FAIL_SEND_REQPNL"; /** Cancel PnL Sending Error. */ ErrorCode[ErrorCode["FAIL_SEND_CANCELPNL"] = 572] = "FAIL_SEND_CANCELPNL"; /** Request PnL Single Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQPNLSINGLE"] = 573] = "FAIL_SEND_REQPNLSINGLE"; /** Cancel PnL Single Sending Error . */ ErrorCode[ErrorCode["FAIL_SEND_CANCELPNLSINGLE"] = 574] = "FAIL_SEND_CANCELPNLSINGLE"; /** Request Historical Ticks Error. */ ErrorCode[ErrorCode["FAIL_SEND_REQHISTORICALTICKS"] = 575] = "FAIL_SEND_REQHISTORICALTICKS"; /** Request Tick-By-Tick Data Sending Error */ ErrorCode[ErrorCode["FAIL_SEND_REQTICKBYTICKDATA"] = 576] = "FAIL_SEND_REQTICKBYTICKDATA"; /** Cancel Tick-By-Tick Data Sending Error */ ErrorCode[ErrorCode["FAIL_SEND_CANCELTICKBYTICKDATA"] = 577] = "FAIL_SEND_CANCELTICKBYTICKDATA"; /** Request Completed Orders Sending Error */ ErrorCode[ErrorCode["FAIL_SEND_REQCOMPLETEDORDERS"] = 578] = "FAIL_SEND_REQCOMPLETEDORDERS"; /** Invalid symbol in string */ ErrorCode[ErrorCode["INVALID_SYMBOL"] = 579] = "INVALID_SYMBOL"; /** "Request WSH Meta Data Sending Error */ ErrorCode[ErrorCode["FAIL_SEND_REQ_WSH_META_DATA"] = 580] = "FAIL_SEND_REQ_WSH_META_DATA"; /** Cancel WSH Meta Data Sending Error */ ErrorCode[ErrorCode["FAIL_SEND_CAN_WSH_META_DATA"] = 581] = "FAIL_SEND_CAN_WSH_META_DATA"; /** Request WSH Event Data Sending Error */ ErrorCode[ErrorCode["FAIL_SEND_REQ_WSH_EVENT_DATA"] = 582] = "FAIL_SEND_REQ_WSH_EVENT_DATA"; /** Cancel WSH Event Data Sending Error */ ErrorCode[ErrorCode["FAIL_SEND_CAN_WSH_EVENT_DATA"] = 583] = "FAIL_SEND_CAN_WSH_EVENT_DATA"; /** Request User Info Sending Error */ ErrorCode[ErrorCode["FAIL_SEND_REQ_USER_INFO"] = 584] = "FAIL_SEND_REQ_USER_INFO"; /** FA Profile is not supported anymore, use FA Group instead */ ErrorCode[ErrorCode["FA_PROFILE_NOT_SUPPORTED"] = 585] = "FA_PROFILE_NOT_SUPPORTED"; /** Failed to read message because not connected */ ErrorCode[ErrorCode["FAIL_READ_MESSAGE"] = 586] = "FAIL_READ_MESSAGE"; /** Connectivity between IBKR and Trader Workstation has been lost. * @When client is connected to TWS and server but TWS losses connection to server. * 🗣️🗣️🗣️ "Market data connection lost". */ ErrorCode[ErrorCode["FAIL_CONNECTION_LOST_BETWEEN_SERVER_AND_TWS"] = 1100] = "FAIL_CONNECTION_LOST_BETWEEN_SERVER_AND_TWS"; /** Connectivity between Trader Workstation and server is broken. It will be restored automatically. * @When client connects to TWS but TWS isn't connected to server. */ ErrorCode[ErrorCode["FAIL_CONNECTION_LOST_BETWEEN_TWS_AND_SERVER"] = 2110] = "FAIL_CONNECTION_LOST_BETWEEN_TWS_AND_SERVER"; /** Invalid position trade derived value */ ErrorCode[ErrorCode["INVALID_POSITION_TRADE_DERIVATED_VALUE"] = 2150] = "INVALID_POSITION_TRADE_DERIVATED_VALUE"; /** Part of requested market data is not subscribed. */ ErrorCode[ErrorCode["PART_OF_REQUESTED_DATA_NOT_SUBSCRIBED"] = 10090] = "PART_OF_REQUESTED_DATA_NOT_SUBSCRIBED"; /** Requested market data is not subscribed. Displaying delayed market data. */ ErrorCode[ErrorCode["DISPLAYING_DELAYED_DATA"] = 10167] = "DISPLAYING_DELAYED_DATA"; /* News feed is not allowed. */ ErrorCode[ErrorCode["NEWS_FEED_NOT_ALLOWED"] = 10276] = "NEWS_FEED_NOT_ALLOWED"; })(ErrorCode || (exports.ErrorCode = ErrorCode = {})); /** * Check if an error message is fatal (to the request execution) or only a warning/information message */ const isNonFatalError = (code, error) => { if (code >= 2100 && code < 3000) return true; if (error.message.includes("Warning:")) return true; switch (code) { case ErrorCode.PART_OF_REQUESTED_DATA_NOT_SUBSCRIBED: case ErrorCode.DISPLAYING_DELAYED_DATA: case ErrorCode.ORDER_MESSAGE: case ErrorCode.SCANNER_LOW_PRECISION: return true; default: return false; } }; exports.isNonFatalError = isNonFatalError; //# sourceMappingURL=errorCode.js.map