@stoqey/ibkr
Version:
NodeJS Interactive Brokers wrapper & utilities using @stoqey/ib
49 lines (48 loc) • 1.55 kB
TypeScript
import { IBApiNext, OpenOrder, Order, Contract, OrderCancel } from '@stoqey/ib';
import { Trade as SSTrade } from '../interfaces';
import { ContractInstrument } from '../marketdata/MarketDataManager';
import { Mutex } from 'async-mutex';
export declare class Orders {
ib: IBApiNext;
private GetOrders;
private openOrders;
private cancelledOrders;
private completedTrades;
private openOrderQueue;
mutex: Mutex;
private static _instance;
static get Instance(): Orders;
private constructor();
get orders(): OpenOrder[];
get trades(): SSTrade[];
/**
* getOrders
*/
getOrders: () => Promise<OpenOrder[]>;
logOpenOrder: (title: string, openOrder: OpenOrder) => void;
processOrderQueue: () => Promise<void>;
/**
* getOpenOrders
*/
asyncOpenOrders: () => Promise<OpenOrder[]>;
syncOpenOrders: () => void;
/**
* init
*/
init: () => Promise<void>;
parseOrder: (orderPlaced: Order, contractDetails: ContractInstrument) => {
order: Order;
contract: Contract;
};
/**
* placeOrder
*/
placeOrder: (contractDetails: ContractInstrument, orderToPlace: Order) => Promise<boolean>;
/**
* modifyOrder
*/
modifyOrder: (id: number, contractDetails: ContractInstrument, orderToPlace: Order) => Promise<boolean>;
cancelOrder: (orderId: number, orderCancel?: string | OrderCancel) => Promise<boolean>;
cancelAllOrders: (orderCancel: OrderCancel) => Promise<boolean>;
}
export default Orders;