В этом примере показано, как соединить с Bloomberg® EMSX с EMSX Bloomberg интерфейс C++, создайте порядок и взаимодействуйте с порядком.
Для получения дополнительной информации о Bloomberg EMSX, см., что Руководство Программиста API EMSX использует опцию WAPI <GO> от терминала Bloomberg.
Соединитесь с тестовым сервисом EMSX Bloomberg с помощью EMSX Bloomberg интерфейс C++.
c = bloombergEMSX('//blp/emapisvc_beta');
c = bloombergEMSX with properties: Session: [1×1 datafeed.internal.BLPSession] Service: '//blp/emapisvc_beta' Ipaddress: "111.222.333.44" Port: 8194.00 User: []
MATLAB® возвращает c
как связь с EMSX Bloomberg тестируют сервис со следующим:
Bloomberg объект сеанса EMSX
Bloomberg объект службы EMSX
IP-адрес машины, запускающей EMSX Bloomberg, тестирует сервис
Номер порта машины, запускающей EMSX Bloomberg, тестирует сервис
Подпишитесь, чтобы заказать события с помощью связи EMSX Bloomberg c
сопоставленный с этими полями Bloomberg EMSX.
fields = {'EMSX_TICKER','EMSX_AMOUNT','EMSX_FILL'}; events = orders(c,fields)
events = MSG_TYPE: {'E'} MSG_SUB_TYPE: {'O'} EVENT_STATUS: 4 ...
events
содержит поля для событий, сопоставленных с существующим Bloomberg порядки EMSX.
Создайте структуру запроса порядка order
для порядка рынка покупки 400 долей IBM®. Задайте брокера как EFIX
, используйте любую ручную инструкцию и установите время в силе к DAY
.
order.EMSX_ORDER_TYPE = 'MKT'; order.EMSX_SIDE = 'BUY'; order.EMSX_TICKER = 'IBM'; order.EMSX_AMOUNT = int32(400); order.EMSX_BROKER = 'EFIX'; order.EMSX_HAND_INSTRUCTION = 'ANY'; order.EMSX_TIF = 'DAY';
Создайте порядок с помощью связи EMSX Bloomberg c
и порядок запрашивает структуру order
.
events = createOrder(c,order)
order_events = EMSX_SEQUENCE: 354646 MESSAGE: 'Order created'
Обработчик стандартного события обрабатывает события, сопоставленные с созданием порядка. createOrder
возвращает events
как структура, которая содержит эти поля:
Bloomberg номер заказа EMSX
Bloomberg сообщение EMSX
Задайте структуру modorder
это содержит эти поля:
Bloomberg EMSX заказывает порядковому номеру EMSX_SEQUENCE
Bloomberg тикер EMSX EMSX_TICKER
Bloomberg количество EMSX долей EMSX_AMOUNT
Этот код изменяет номер заказа 354646
для 200 долей IBM. Преобразуйте числа в 32-битное использование целых чисел со знаком int32
.
modorder.EMSX_SEQUENCE = int32(354646);
modorder.EMSX_TICKER = 'IBM';
modorder.EMSX_AMOUNT = int32(200);
Измените порядок с помощью связи EMSX Bloomberg c
и измените структуру порядка modorder
.
events = modifyOrder(c,modorder)
events = EMSX_SEQUENCE: 354646 MESSAGE: 'Order Modified'
Обработчик стандартного события обрабатывает события, сопоставленные с изменением порядка. modifyOrder
возвращает events
как структура, которая содержит эти поля:
Bloomberg номер заказа EMSX
Bloomberg сообщение EMSX
Задайте структуру ordernum
это содержит порядковый номер порядка 354646
для порядка удалить. Удалите порядок с помощью связи EMSX Bloomberg c
и удалить структура номера заказа ordernum
.
ordernum.EMSX_SEQUENCE = 354646; events = deleteOrder(c,ordernum)
events = STATUS: '0' MESSAGE: 'Order deleted'
Обработчик стандартного события обрабатывает события, сопоставленные с удалением порядка. deleteOrder
возвращает events
как структура, которая содержит эти поля:
Состояние Bloomberg EMSX
Bloomberg сообщение EMSX
Отпишитесь от событий порядка с помощью подписок EMSX Bloomberg.
c.Session.stopSubscriptions
close(c)
close
| createOrder
| deleteOrder
| modifyOrder
| orders