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 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 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 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 IContract объект orderContract для порядка комбинации. Создайте IContract объект с этими значениями свойств:

  • Символ Google

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

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

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

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

  • Рабочая станция торговца IB 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 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 IOrder объект ibOrder

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

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

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

     768413.00

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

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

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

close(ib)

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

| | | |

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

Больше о

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