exponenta event banner

Создайте интерактивный порядок комбинации брокеров

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

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

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

Соединитесь с рабочей станцией торговца IB

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

 ib = ibtws('',7496); 

MATLAB® возвращает ib как связь с Рабочей станцией Торговца IB с объектом Interactive Brokers® ActiveX®, локальным хостом и номером порта, который вы выбираете.

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

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

  • Символ Google.

  • Фондовый опцион.

  • Дата окончания срока действия является августом 2014.

  • Цена исполнения опциона составляет 535,00$.

  • Колл-опцион.

  • Количество долей равняется 100.

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

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

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

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

ibContract1 = ib.Handle.createContract;
ibContract1.symbol = 'GOOG';
ibContract1.secType = 'OPT';
ibContract1.expiry = '201408';
ibContract1.strike = 535;
ibContract1.right = 'C';
ibContract1.multiplier = '100';
ibContract1.exchange = 'SMART';
ibContract1.primaryExchange = 'EX';
ibContract1.currency = 'USD';

Запросите детали контракта для ibContract1.

[cd1,ibReqID1] = contractdetails(ib,ibContract1);

cd1 возвращает подробные данные контракта для ibContract1. ibReqID1 возвращает идентификатор запроса для этого запроса деталей контракта.

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

  • Символ Google.

  • Фондовый опцион.

  • Дата окончания срока действия является сентябрем 2014.

  • Цена исполнения опциона составляет 535,00$.

  • Колл-опцион.

  • Количество долей равняется 100.

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

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

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

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

ibContract2 = ib.Handle.createContract;
ibContract2.symbol = 'GOOG';
ibContract2.secType = 'OPT';
ibContract2.expiry = '201409';
ibContract2.strike = 535;
ibContract2.right = 'C';
ibContract2.multiplier = '100';
ibContract2.exchange = 'SMART';
ibContract2.primaryExchange = 'EX';
ibContract2.currency = 'USD';

Запросите детали контракта для ibContract2.

[cd2,ibReqID2] = contractdetails(ib,ibContract2);

cd2 возвращает подробные данные контракта для ibContract2. ibReqID2 возвращает идентификатор запроса для этого запроса деталей контракта.

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

Чтобы задать участки порядка комбинации, создайте объект IB Trader Workstation IComboLegList comboLegs.

comboLegs = ib.Handle.createComboLegList;

Здесь, этот порядок комбинации имеет два участка. Добавьте первый матч в comboLegs. Первый матч содержит эти значения свойств:

  • Рабочая станция Торговца IB сокращает идентификатор на первый контракт.

  • Непосредственное отношение участка.

  • Продайте колл-опцион.

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

  • Идентифицируйте открытый или сомкнутый строй на основе родительской безопасности.

  • Рабочая станция Торговца IB направляет порядок без обозначенного брокера.

  • Пробел назначил брокера.

ibLeg1 = comboLegs.Add;
ibLeg1.conId = cd1.summary.conId;
ibLeg1.ratio = 1;
ibLeg1.action = 'SELL';
ibLeg1.exchange = 'SMART';
ibLeg1.openClose = 0;
ibLeg1.shortSaleSlot = 0;
ibLeg1.designatedLocation = '';

Добавьте ответный матч в comboLegs. Ответный матч содержит эти значения свойств:

  • Рабочая станция Торговца IB сокращает идентификатор на второй контракт.

  • Непосредственное отношение участка.

  • Купите колл-опцион.

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

  • Идентифицируйте открытый или сомкнутый строй на основе родительской безопасности.

  • Рабочая станция Торговца IB направляет порядок без обозначенного брокера.

  • Пробел назначил брокера.

ibLeg2 = comboLegs.Add;
ibLeg2.conId = cd2.summary.conId;
ibLeg2.ratio = 1;
ibLeg2.action = 'BUY';
ibLeg2.exchange = 'SMART';
ibLeg2.openClose = 0;
ibLeg2.shortSaleSlot = 0;
ibLeg2.designatedLocation = '';

Создайте интерактивный порядок комбинации брокеров

Создайте объект IB Trader Workstation IContract orderContract для порядка комбинации. Создайте объект IContract с этими значениями свойств:

  • Символ Google

  • Порядок комбинации вводит BAG

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

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

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

  • Объект IB Trader Workstation IComboLegList comboLegs

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

orderContract = ib.Handle.createContract;
orderContract.symbol = 'GOOG';
orderContract.secType = 'BAG';
orderContract.exchange = 'SMART';
orderContract.primaryExchange = 'EX';
orderContract.currency = 'USD';
orderContract.comboLegs = comboLegs;

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

ibOrder = ib.Handle.createOrder;
ibOrder.action = 'BUY';
ibOrder.totalQuantity = 1;
ibOrder.orderType = 'MKT';

Запросите следующий допустимый идентификационный номер порядка id с помощью orderid.

id = orderid(ib);

Выполните заказ комбинации ibOrder с помощью этих аргументов:

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

  • Порядок комбинации объект IContract orderContract

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

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

  • Демонстрационный обработчик событий ibExampleEventHandler

d = createOrder(ib,orderContract,ibOrder,id,@ibExampleEventHandler)
d =

     768413.00

d возвращает уникальный идентификатор порядка для этого порядка комбинации.

Закройте связь

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

close(ib)

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

| | | |

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

Больше о

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