Этот пример показывает, как соединить с Торговцем IB WorkstationSM, создать Рабочую станцию Торговца IB объекты IContract и запросить данные реального времени. Для получения дополнительной информации об объекте IContract, см. Интерактивный Справочник API Брокеров.
Этот пример использует демонстрационную функцию обработчика событий ibExampleRealtimeEventHandler, чтобы обработать события, сопоставленные с запросом данных реального времени. Используйте этот обработчик событий или запишите пользовательскую функцию обработчика событий. Для получения дополнительной информации смотрите Запись и Выполнение Пользовательских Функций обработчика событий с Интерактивными Брокерами.
Здесь, AAA, BBB и DDDD являются демонстрационными именами символа. EX является демонстрационным первичным обменным именем. Чтобы создать порядки для ваших ценных бумаг, замените именами символа в ibContract.symbol и первичными обменными именами в ibContract.primaryExchange.
Чтобы получить доступ к коду для этого примера, введите edit IBStreamingDataWorkflow.m.
Соединитесь с Рабочей станцией Торговца IB и создайте связь ib с помощью локального хоста и номера порта 7496.
ib = ibtws('',7496); MATLAB® возвращает ib как связь с Рабочей станцией Торговца IB с объектом Interactive Brokers® ActiveX®, локальным хостом и номером порта, который вы выбираете.
Чтобы отобразить данные реального времени, создайте фигуру в качестве примера.
Этот код MATLAB создает фигуру MATLAB, чтобы содержать Интерактивные данные реального времени Брокеров.
f = findobj('Tag','IBStreamingDataWorkflow'); if isempty(f) f = figure('Tag','IBStreamingDataWorkflow', ... 'MenuBar','none','NumberTitle','off') pos = f.Position; f.Position = [pos(1) pos(2) pos(3)+37 109]; colnames = {'Trade','Size','Bid','BidSize', ... 'Ask','AskSize','Total Volume'}; rownames = {'AAA','BBB','DDDD'}; data = cell(3,6); uitable(f,'Data',data,'RowName',rownames, ... 'ColumnName',colnames,'Position',[10 30 582 76], ... 'Tag','SecurityDataTable') uicontrol('Style','text','Position',[10 5 497 20], ... 'Tag','IBMessage') uicontrol('Style','pushbutton','String','Close', ... 'Callback', ... 'evalin(''base'',''close(ib);close(findobj(''''Tag'''',''''IBStreamingDataWorkflow''''));'')', ... 'Position',[512 5 80 20]) end
MATLAB отображает пустую фигуру.

IContractСоздайте объект IB Trader Workstation IContract для первой безопасности. Здесь, этот объект описывает безопасность с этими значениями свойств:
Символ AAA
Тип безопасности запаса
Совокупный обмен
Первичный обмен
Долларовая валюта
ibContract1 = ib.Handle.createContract; ibContract1.symbol = 'AAA'; ibContract1.secType = 'STK'; ibContract1.exchange = 'SMART'; ibContract1.primaryExchange = 'EX'; ibContract1.currency = 'USD';
Создайте объект IB Trader Workstation IContract для второго символа безопасности BBB.
ibContract2 = ib.Handle.createContract; ibContract2.symbol = 'BBB'; ibContract2.secType = 'STK'; ibContract2.exchange = 'SMART'; ibContract2.primaryExchange = 'EX'; ibContract2.currency = 'USD';
Создайте объект IB Trader Workstation IContract для третьего символа безопасности DDDD.
ibContract3 = ib.Handle.createContract; ibContract3.symbol = 'DDDD'; ibContract3.secType = 'STK'; ibContract3.exchange = 'SMART'; ibContract3.primaryExchange = 'EX'; ibContract3.currency = 'USD';
Отобразите данные в свойстве symbol ibContract1.
ibContract1.symbol
ans =
AAA
Запросите данные реального времени для этих трех ценных бумаг. Установите f на 100 получать тип метки деления Объема Опции. Для получения дополнительной информации о других типичных типах метки деления данных о рынке, см. Интерактивный Справочник API Брокеров. Используйте демонстрационный обработчик событий ibExampleRealtimeEventHandler, чтобы обработать события данных реального времени или записать пользовательскую функцию обработчика событий.
contracts = {ibContract1;ibContract2;ibContract3};
f = '100';
tickerID = realtime(ib,contracts,f,...
@(varargin)ibExampleRealtimeEventHandler(varargin{:}));MATLAB отображает фигуру, заполненную с данными реального времени для символов запаса AAA, BBB и DDDD.

Закройте связь Рабочей станции Торговца IB ib.
close(ib)
close | createOrder | getdata | history | ibtws | timeseries