exponenta event banner

Запросите интерактивные данные реального времени брокеров

В этом примере показано, как соединить с Торговцем IB WorkstationSM, создайте Рабочую станцию Торговца IB IContract объекты и данные реального времени запроса. Для получения дополнительной информации о IContract возразите, см. Интерактивный Справочник API Брокеров.

Этот пример использует демонстрационную функцию обработчика событий ibExampleRealtimeEventHandler обрабатывать события, сопоставленные с запросом данных реального времени. Используйте этот обработчик событий или запишите пользовательскую функцию обработчика событий. Для получения дополнительной информации смотрите Запись и Выполнение Пользовательских Функций обработчика событий с Интерактивными Брокерами.

Здесь, AAA, BBB, и DDDD демонстрационные имена символа. EX демонстрационное первичное обменное имя. Чтобы создать порядки для ваших ценных бумаг, замените именами символа в ibContract.symbol и первичный обмен называет в ibContract.primaryExchange.

Чтобы получить доступ к коду для этого примера, введите edit IBStreamingDataWorkflow.m.

Свяжите с рабочей станцией торговца IB и создайте фигуру отображения данных реального времени

Свяжите с Рабочей станцией Торговца 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 отображает пустую фигуру.

Создайте рабочую станцию торговца IB IContract Объекты

Создайте рабочую станцию торговца IB IContract объект для первой безопасности. Здесь, этот объект описывает безопасность с этими значениями свойств:

  • AAA символ

  • Тип безопасности запаса

  • Совокупный обмен

  • Первичный обмен

  • Долларовая валюта

ibContract1 = ib.Handle.createContract;
ibContract1.symbol = 'AAA';
ibContract1.secType = 'STK';
ibContract1.exchange = 'SMART';
ibContract1.primaryExchange = 'EX';
ibContract1.currency = 'USD';

Создайте рабочую станцию торговца IB IContract объект для второго символа безопасности BBB.

ibContract2 = ib.Handle.createContract;
ibContract2.symbol = 'BBB';
ibContract2.secType = 'STK';
ibContract2.exchange = 'SMART';
ibContract2.primaryExchange = 'EX';
ibContract2.currency = 'USD';

Создайте рабочую станцию торговца IB 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)

Смотрите также

| | | | |

Связанные примеры

Больше о

Внешние веб-сайты