exponenta event banner

realtime

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

Описание

пример

tickerid = realtime(ib,ibContract,f) запрашивает Интерактивные данные реального времени Brokers® с помощью Торговца IB связь WorkstationSM ib, Рабочая станция торговца IB IContract объект ibContract, и поля Interactive Brokers f.

пример

tickerid = realtime(ib,ibContract,f,eventhandler) запрашивает Интерактивные данные реального времени Брокеров с помощью функции обработчика событий eventhandler. Используйте демонстрационный обработчик событий ibExampleEventHandler или запишите пользовательскую функцию обработчика событий.

Примеры

свернуть все

Чтобы запросить данные реального времени, настройте связь Рабочей станции Торговца IB ib использование ibtws. Создайте рабочую станцию торговца IB IContract объект ibContract как показано в Запросе Интерактивные Данные реального времени Брокеров. IContract объект является объектом Interactive Brokers для содержания данных о безопасности, чтобы обработать транзакции. Для получения дополнительной информации о создании этого объекта, см. Интерактивный Справочник API Брокеров.

Запросите Интерактивные данные реального времени Брокеров по умолчанию путем установки поля Interactive Brokers f к пустому символьному вектору.

Запросите данные реального времени с помощью ib, ibContract, и f.

f = '';

tickerid = realtime(ib,ibContract,f)
tickerid =

     1

tickerid возвращает номер для отслеживания запроса данных реального времени.

realtime функция возвращает данные реального времени в переменной ibBuiltInRealtimeData рабочей области MATLAB®.

Отобразите эти данные реального времени.

ibBuiltInRealtimeData
ibBuiltInRealtimeData = 

            id: 1
     BID_PRICE: 584.65
      BID_SIZE: 1
     ASK_PRICE: 585.80
      ASK_SIZE: 1
    LAST_PRICE: 585
     LAST_SIZE: 1
        VOLUME: 11611

Структура ibBuiltInRealtimeData содержит эти поля:

  • Идентификатор запроса в реальном времени

  • Цена предложения

  • Предложите размер

  • Запрашиваемая цена

  • Спросите размер

  • Последняя цена

  • Последний размер

  • Объем

id поле является номером, который отслеживает запрос данных реального времени о Рабочей станции Торговца IB IContract объект ibContract. Когда вы создаете несколько контрактов, каждое отображение данных реального времени имеет различное значение для id поле, которое соответствует определенному контракту.

Отмените запрос данных о рынке в реальном времени с помощью tickerid.

ib.Handle.cancelMktData(tickerid)

Удалите присвоения обработчика событий для каждого события в реальном времени.

evtListeners = ib.Handle.eventlisteners; 
eventTypes = {'tickSize','tickPrice','tickSnapshotEnd', ...
    'tickOptionComputation','tickGeneric','tickString', ...
     'tickEFP','marketDataType'};
for j = 1:length(eventTypes) 
    i = strcmp(evtListeners(:,1),eventTypes{j}); 
    ib.Handle.unregisterevent([{evtListeners{i,1}}' {evtListeners{i,2}}']); 
end 

Закройте связь Рабочей станции Торговца IB.

close(ib)

Чтобы запросить данные реального времени, настройте связь Рабочей станции Торговца IB ib использование ibtws. Создайте рабочую станцию торговца IB IContract объект ibContract как показано в Запросе Интерактивные Данные реального времени Брокеров. IContract объект является объектом Interactive Brokers для содержания данных о безопасности, чтобы обработать транзакции. Для получения дополнительной информации о создании этого объекта, см. Интерактивный Справочник API Брокеров.

Запросите Интерактивные данные реального времени Брокеров по умолчанию путем установки поля Interactive Brokers f к пустому символьному вектору.

f = '';

Запросите данные реального времени с помощью ib, ibContract, и f. Используйте демонстрационный обработчик событий ibExampleEventHandler отобразить данные реального времени в Командном окне.

tickerid = realtime(ib,ibContract,f,...
                    @ibExampleEventHandler)
tickerid =

     1

    [1x1 COM.TWS_TwsCtrl_1]    [1]    [1]    [1]    [585.50]    [1]    [1x1 struct]    'tickPrice'

    [1x1 COM.TWS_TwsCtrl_1]    [2]    [1]    [0]    [1]    [1x1 struct]    'tickSize'

...

tickerid возвращает номер для отслеживания запроса данных реального времени.

После tickerid, ibExampleEventHandler потоковые данные реального времени к Командному окну. Каждая линия является типом метки деления. Здесь, существует ценовая метка деления и метка деления размера.

Для ценовой метки деления возвращается Рабочая станция Торговца IB:

  • Интерактивный объект Brokers ActiveX®

  • Идентификатор события

  • Запросите идентификатор

  • Отметьте тип

  • Цена

  • Автоматический флаг выполнения

  • Структура, которая повторяет содержимое столбцов

  • Тип события

Для получения дополнительной информации об этих данных, см. Интерактивный Справочник API Брокеров.

Отмените запрос данных о рынке в реальном времени с помощью tickerid.

ib.Handle.cancelMktData(tickerid)

Удалите присвоения обработчика событий для каждого события в реальном времени.

evtListeners = ib.Handle.eventlisteners; 
eventTypes = {'tickSize','tickPrice','tickSnapshotEnd', ...
    'tickOptionComputation','tickGeneric','tickString', ...
     'tickEFP','marketDataType'};
for j = 1:length(eventTypes) 
    i = strcmp(evtListeners(:,1),eventTypes{j}); 
    ib.Handle.unregisterevent([{evtListeners{i,1}}' {evtListeners{i,2}}']); 
end 

Закройте связь Рабочей станции Торговца IB.

close(ib)

Входные параметры

свернуть все

Связь Рабочей станции Торговца IB, заданная как объект связи Рабочей станции Торговца IB, созданный с помощью ibtws.

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

Типы данных: cell

Интерактивные поля Brokers, заданные как вектор символов, представляют в виде строки скаляр, массив ячеек из символьных векторов или массив строк. Эти поля соответствуют числовым идентификаторам, которые задают Интерактивных Брокеров типовые типы метки деления данных о рынке. Для получения дополнительной информации см. Интерактивный Справочник API Брокеров.

Типы данных: char | cell | string

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

Пример: @eventhandler

Типы данных: function_handle | char | string

Выходные аргументы

свернуть все

Интерактивный рынок Брокеров запрашивает идентификатор, заданный как двойное для отслеживания и отмены запроса данных о рынке. tickerid скаляр для одного Интерактивного контракта Брокеров и вектора скаляров для нескольких контрактов.

Советы

Если переменная ibBuiltInErrMsg появляется в рабочем пространстве MATLAB, проверяйте состояние связи и функционального выполнения путем отображения содержимого этой переменной. ibBuiltInErrMsg содержит сообщения, связанные с:

  • Связь

  • Информация, следующая из выполнения функций

  • Ошибки

Представленный в R2015a