exponenta event banner

в реальном времени

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

Синтаксис

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

Описание

пример

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

пример

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

Примеры

свернуть все

Чтобы запросить данные реального времени, настройте связь Рабочей станции Торговца IB ib с помощью ibtws. Создайте объект IB Trader Workstation 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 Trader Workstation 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 Trader Workstation 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 Trader Workstation IContract или массив ячеек для нескольких Рабочая станция Торговца IB объекты IContract. Этот объект является инструментом или безопасностью, используемой в транзакции порядка. Создайте этот объект путем вызова Интерактивной API-функции Брокеров createContract. Для получения дополнительной информации о createContract и атрибутах, которые можно установить, см. Интерактивный Справочник API Брокеров.

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

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

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

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

Пример: @eventhandler

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

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

свернуть все

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

Советы

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

  • Связь

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

  • Ошибки

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