@stoqey/ibkr
Version:
NodeJS Interactive Brokers wrapper & utilities using @stoqey/ib
27 lines (26 loc) • 1.54 kB
TypeScript
import { IBApiNext, Contract, BarSizeSetting, WhatToShow, ContractDetails } from '@stoqey/ib';
import { MarketData, TickByTickAllLast } from '../interfaces';
export interface ContractInstrument extends Contract, ContractDetails {
contract: Contract;
}
export declare class MarketDataManager {
ib: IBApiNext;
marketData: Record<string, {
[date: string]: MarketData;
}>;
private GetHistoricalDataUpdates;
private static _instance;
static get Instance(): MarketDataManager;
getSymbolKey: (contract: Contract) => string;
historicalData: (contract: Contract, startDate: Date, endDate: Date, interval: string) => Promise<MarketData[]>;
getQuote: (contract: Contract, date: Date) => Promise<MarketData>;
removeHistoricalDataUpdates: (contract: Contract) => void;
getHistoricalDataUpdates: (contract: Contract, barSizeSetting: BarSizeSetting, whatToShow: WhatToShow) => Promise<void>;
getHistoricalData: (contract: Contract, endDateTime: string | undefined, durationStr: string, barSizeSetting: BarSizeSetting, whatToShow: WhatToShow, useRTH?: boolean) => Promise<MarketData[]>;
getHistoricalTicksLast: (contract: Contract, startDate: Date, endDate: Date, numberOfTicks?: number, useRTH?: boolean) => Promise<TickByTickAllLast[]>;
getContract: (contract: Partial<Contract | any>) => Promise<ContractInstrument>;
searchContracts: (contract: Partial<Contract>) => Promise<ContractInstrument[]>;
init: () => void;
private constructor();
}
export default MarketDataManager;