IB@stoqey/ib
@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

On this page