exponenta event banner

порядки

Запросите Интерактивных Брокеров открытые данные о порядке

Синтаксис

o = orders(ib)
o = orders(ib,client)
o = orders(ib,client,eventhandler)

Описание

пример

o = orders(ib) запрашивает Интерактивный Brokers® открытые данные о порядке с помощью Торговца IB связь WorkstationSM ib для текущего клиента только.

пример

o = orders(ib,client) запрашивает Интерактивных Брокеров открытые данные о порядке с помощью связи Рабочей станции Торговца IB ib и клиентский флаг. client обозначает запрашивающие данные от текущего клиента или всех клиентов.

пример

o = orders(ib,client,eventhandler) запрашивает Интерактивных Брокеров открытые данные о порядке с помощью функции обработчика событий eventhandler. Используйте демонстрационный обработчик событий ibExampleEventHandler или запишите пользовательскую функцию обработчика событий.

Примеры

свернуть все

Создайте связь Рабочей станции Торговца IB ib на локальной машине с помощью номера порта 7496.

 ib = ibtws('',7496); 

Создайте объект IB Trader Workstation IContract ibContract. Здесь, этот объект описывает безопасность с этими значениями свойств:

  • Символ Google®

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

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

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

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

EX является демонстрационным первичным обменным именем. Замените своим первичным обменным именем в ibContract.primaryExchange.

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

Создайте объект IB Trader Workstation IOrder ibOrder. Здесь, этот объект описывает лимитный приказ продать две акции с ценой предела 590$.

ibOrder = ib.Handle.createOrder;
ibOrder.action = 'SELL';
ibOrder.totalQuantity = 2;
ibOrder.orderType = 'LMT'
ibOrder.lmtPrice = 590;

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

Создайте уникальный идентификатор порядка id.

id = orderid(ib);

Выполните использование порядка:

  • Связь Рабочей станции Торговца IB ib

  • Объект IB Trader Workstation IContract ibContract

  • Объект IB Trader Workstation IOrder ibOrder

  • Уникальный идентификатор порядка id

d = createOrder(ib,ibContract,ibOrder,id);

Получите информацию для заказа o.

o = orders(ib)
o = 

1x2 struct array with fields:

    Type
    EventID
    orderId
    contract
    order
    orderState

o содержит массив структур. Массив содержит структуру с данными для каждого открытого порядка. Поля структуры:

  • Закажите тип

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

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

  • Сократите данные

  • Закажите данные

  • Статус заказа

Получите текущий статус порядка.

o.orderState
ans = 

                status: 'Submitted'
            initMargin: '1.7976931348623157E308'
           maintMargin: '1.7976931348623157E308'
           ...

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

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

close(ib)

Создайте связь Рабочей станции Торговца IB ib на локальной машине с помощью номера порта 7496.

 ib = ibtws('',7496); 

Создайте объект IB Trader Workstation IContract ibContract. Здесь, этот объект описывает безопасность с этими значениями свойств:

  • Символ Google

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

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

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

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

EX является демонстрационным первичным обменным именем. Замените своим первичным обменным именем в ibContract.primaryExchange.

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

Создайте объект IB Trader Workstation IOrder ibOrder. Здесь, этот объект описывает лимитный приказ продать две акции с ценой предела 590$.

ibOrder = ib.Handle.createOrder;
ibOrder.action = 'SELL';
ibOrder.totalQuantity = 2;
ibOrder.orderType = 'LMT'
ibOrder.lmtPrice = 590;

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

Создайте уникальный идентификатор порядка id.

id = orderid(ib);

Выполните использование порядка:

  • Связь Рабочей станции Торговца IB ib

  • Объект IB Trader Workstation IContract ibContract

  • Объект IB Trader Workstation IOrder ibOrder

  • Уникальный идентификатор порядка id

d = createOrder(ib,ibContract,ibOrder,id);

Получите информацию для заказа o от всех клиентов установкой client к false.

o = orders(ib,false)
o = 

1x2 struct array with fields:

    Type
    EventID
    orderId
    contract
    order
    orderState

o содержит массив структур. Массив содержит структуру с данными для каждого открытого порядка. Поля структуры:

  • Закажите тип

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

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

  • Сократите данные

  • Закажите данные

  • Статус заказа

Получите текущий статус порядка.

o.orderState
ans = 

                status: 'Submitted'
            initMargin: '1.7976931348623157E308'
           maintMargin: '1.7976931348623157E308'
           ...

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

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

close(ib)

Создайте связь Рабочей станции Торговца IB ib на локальной машине с помощью номера порта 7496.

 ib = ibtws('',7496); 

Создайте объект IB Trader Workstation IContract ibContract. Здесь, этот объект описывает безопасность с этими значениями свойств:

  • Символ Google

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

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

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

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

EX является демонстрационным первичным обменным именем. Замените своим первичным обменным именем в ibContract.primaryExchange.

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

Создайте объект IB Trader Workstation IOrder ibOrder. Здесь, этот объект описывает лимитный приказ продать две акции с ценой предела 590$.

ibOrder = ib.Handle.createOrder;
ibOrder.action = 'SELL';
ibOrder.totalQuantity = 2;
ibOrder.orderType = 'LMT'
ibOrder.lmtPrice = 590;

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

Создайте уникальный идентификатор порядка id.

id = orderid(ib);

Выполните использование порядка:

  • Связь Рабочей станции Торговца IB ib

  • Объект IB Trader Workstation IContract ibContract

  • Объект IB Trader Workstation IOrder ibOrder

  • Уникальный идентификатор порядка id

d = createOrder(ib,ibContract,ibOrder,id);

Получите информацию для заказа от всех клиентов установкой client к false и использованием демонстрационной функции обработчика событий ibExampleEventHandler. Используйте ibExampleEventHandler или запишите пользовательскую функцию обработчика событий.

o = orders(ib,false,@ibExampleEventHandler)
o =

     []

  Columns 1 through 4

    [1x1 COM.TWS_TwsCtrl_1]    [101]    [56947638]    [1x1 Interface.Tws_ActiveX_Control_module.IContract]

  Columns 5 through 6

    [1x1 Interface.Tws_ActiveX_Control_module.IOrder]    [1x1 Interface.Tws_ActiveX_Control_module.IOrderState]

  Columns 7 through 8

    [1x1 struct]    'openOrderEx'

o содержит пустое двойное, потому что обработчик событий ibExampleEventHandler обрабатывает выходные данные.

ibExampleEventHandler отображает выходные данные в Командном окне. Здесь, Рабочая станция Торговца IB возвращается:

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

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

  • Уникальный идентификатор порядка

  • Объект IB Trader Workstation IContract

  • Объект IB Trader Workstation IOrder

  • Объект IB Trader Workstation IOrderState

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

  • Запросите тип

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

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

close(ib)

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

свернуть все

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

Флаг Client, заданный как логическое. true обозначает возвращающиеся данные от текущего клиента только. false обозначает возвращающиеся данные от всех клиентов.

Типы данных: логический

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

Пример: @eventhandler

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

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

свернуть все

Открытые данные о порядке интерактивных Брокеров, возвращенные как структура или пустое дважды. Структура содержит эти поля:

  • Закажите тип

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

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

  • Сократите данные

  • Закажите данные

  • Статус заказа

При использовании функции обработчика событий o является пустым дважды.

Советы

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

    • Связь

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

    • Ошибки

  • Выполнение orders многократно с помощью той же связи Рабочей станции Торговца IB может вызвать этот вид предупреждающего сообщения: Предупреждение: не Может не указать ‘openOrderEx’. Недопустимое событие комбинация name/handler. Чтобы зафиксировать это предупреждение, закройте связь Рабочей станции Торговца IB и создайте новую связь с помощью ibtws.

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