@stoqey/ib (Low-Level SDK)IBApi Reference
IBApi Overview
Event-driven API architecture, EventEmitter usage, and event naming conventions.
Event-Driven Architecture
IBApi extends Node.js EventEmitter. Requests sent to TWS or IB Gateway are asynchronous, and response data is returned asynchronously via event listeners.
import { IBApi, EventName } from "@stoqey/ib";
const ib = new IBApi({ port: 7497 });
// Event handlers must be attached before calling request methods
ib.on(EventName.accountSummary, (reqId, account, tag, value, currency) => {
console.log(`${account} - ${tag}: ${value} ${currency}`);
});
ib.connect();
ib.reqAccountSummary(1, "All", "NetLiquidation,TotalCashValue,BuyingPower");The EventName Enum
All TWS events are strongly typed in @stoqey/ib via the EventName enum:
import { EventName } from "@stoqey/ib";
// Connection & System
EventName.connected
EventName.disconnected
EventName.error
EventName.nextValidId
// Account & Portfolio
EventName.accountSummary
EventName.accountSummaryEnd
EventName.position
EventName.positionEnd
EventName.pnl
EventName.pnlSingle
// Market & Historical Data
EventName.tickPrice
EventName.tickSize
EventName.tickGeneric
EventName.historicalData
EventName.historicalDataUpdate
EventName.scannerData
// Orders & Executions
EventName.orderStatus
EventName.openOrder
EventName.openOrderEnd
EventName.execDetails