Создайте связь с Рабочей станцией Торговца IB ℠ и создайте порядок рынка на основе исторических и текущих данных для безопасности. Можно также создать порядки для различного инструмента, такие как фьючерсный контракт.
Прежде, чем создать связь, необходимо ввести учетные данные и запустить Рабочую станцию Торговца IB ℠ приложение.
Чтобы запустить этот пример, необходимо было установить Financial Toolbox™.
Гарантируйте, что Рабочая станция Торговца IB ℠ приложение запускается, и тот API, который включены связи. Выполните эти шаги в Рабочей станции Торговца IB ℠.
Чтобы открыть диалоговое окно Trader Workstation Configuration (Simulated Trading), выберите File> Global Configuration.
Выберите API> Settings.
Убедитесь, что флажок Enable ActiveX и Socket Clients устанавливается.
Свяжите с Рабочей станцией Торговца IB ℠ и создайте связь ib
использование локального хоста и номера порта по умолчанию 7496
.
ib = ibtws('',7496);
Когда Accept incoming connection attempt
сообщение появляется в Рабочей станции Торговца IB ℠, нажать кнопку Да.
Создайте рабочую станцию торговца IB ℠ IContract
объект ibContract
. Этот объект задает безопасность. Получите данные для запаса Microsoft®. Определение SMART
когда обмен позволяет Интерактивному Brokers® определить который место проведения использовать в поиске данных. Чтобы разъяснить любую неоднозначность, установите первичный обмен для места назначения к NASDAQ
. Чтобы получить выраженный в долларах запас, установите тип валюты на USD
. Установка типа валюты полезна, когда запасы перечислены двойным образом или мультиперечислены через различную юрисдикцию.
ibContract = ib.Handle.createContract; ibContract.symbol = 'MSFT'; ibContract.secType = 'STK'; ibContract.exchange = 'SMART'; ibContract.primaryExchange = 'NASDAQ'; ibContract.currency = 'USD';
Задайте диапазон дат в течение прошлых 20 рабочих дней, исключая сегодня. Чтобы вычислить соответствующий запуск и даты окончания, этот код использует daysadd
функция от Financial Toolbox™.
bizDayConvention = 13; % i.e. BUS/252
currentdate = today;
startDate = daysadd(currentdate,-20,bizDayConvention);
endDate = daysadd(currentdate,-1,bizDayConvention);
Получите исторические данные в течение прошлых 20 рабочих дней.
histTradeData = history(ib,ibContract,startDate,endDate);
history
функция принимает дополнительные параметры, которые позволяют вам получить другие исторические данные, такие как подразумеваемая волатильность опции, историческая энергозависимость, цены предложения, запрашиваемые цены или средние точки. Если вы ничего не задаете, в последний раз проданные цены возвращаются по умолчанию.
Получите данные о текущей цене из контракта.
currentData = getdata(ib,ibContract)
currentData = struct with fields: LAST_PRICE: 62.8500 LAST_SIZE: 1 VOLUME: 41273 BID_PRICE: 62.8400 BID_SIZE: 17 ASK_PRICE: 62.8600 ASK_SIZE: 12
Рабочая станция Торговца IB ℠ поддерживает различные типы порядка, включая основные типы, такие как лимитные приказы, остановите порядки и порядки рынка.
Создайте рабочую станцию торговца IB ℠ Iorder
объект ibMktOrder
. Этот объект задает порядок. Чтобы купить доли, задайте действие BUY
. Чтобы задать покупку 100 долей, установите totalQuantity
к 100. Чтобы создать порядок рынка, задайте тип порядка как MKT
.
ibMktOrder = ib.Handle.createOrder; ibMktOrder.action = 'BUY'; ibMktOrder.totalQuantity = 100; ibMktOrder.orderType = 'MKT';
Установите уникальный идентификатор порядка и отправьте заказ к Интерактивному Brokers®.
id = orderid(ib); result = createOrder(ib,ibContract,ibMktOrder,id)
result = struct with fields: STATUS: 'Submitted' FILLED: 0 REMAINING: 100 AVG_FILL_PRICE: 0 PERM_ID: '1621177315' PARENT_ID: 0 LAST_FILL_PRICE: 0 CLIENT_ID: 0 WHY_HELD: ''
Можно торговать различными инструментами с помощью Рабочей станции Торговца IB ℠ API, включая акции, фьючерсы, опции, опции фьючерсов и иностранные валюты.
ibFutures
электронный мини-фьючерсный контракт Standard and Poor's 500 на CME Globex с истечением в декабре 2013. Задайте символ как ES
, тип безопасности как фьючерсный контракт FUT
, истечение как YYYYMM
формат даты, обмен как GLOBEX
, и валюта как USD
.
ibFutures = ib.Handle.createContract; ibFutures.symbol = 'ES'; ibFutures.secType = 'FUT'; ibFutures.expiry = '201312'; % Dec 2013 ibFutures.exchange = 'GLOBEX'; ibFutures.currency = 'USD';
Получите данные о фьючерсах и отправьте заказы с помощью getdata
и createOrder
функции.
close(ib)
close
| createOrder
| getdata
| history
| ibtws