В этом примере показано, как соединиться с Bloomberg® EMSX, настроенные порядок и подписка маршрута, создают и направляют порядок и взаимодействуют с маршрутом.
Для получения дополнительной информации о Bloomberg EMSX, см., что Руководство Программиста API EMSX использует опцию WAPI <GO> от терминала Bloomberg.
Соединитесь с тестовым сервисом EMSX Bloomberg. Отобразите использование содержимого очереди текущего события processEvent.
c = emsx('//blp/emapisvc_beta');
processEvent(c)c =
emsx with properties:
Session: [1x1 com.bloomberglp.blpapi.Session]
Service: [1x1 com.bloomberglp.blpapi.impl.aQ]
Ipaddress: 'localhost'
Port: 8194
SessionConnectionUp = {
server = localhost/127.0.0.1:8194
}
SessionStarted = {
}
ServiceOpened = {
serviceName = //blp/emapisvc_beta
}MATLAB® возвращает c как связь с EMSX Bloomberg тестируют сервис со следующим:
Bloomberg объект сеанса EMSX
Bloomberg объект службы EMSX
IP-адрес машины, запускающей EMSX Bloomberg, тестирует сервис
Номер порта машины, запускающей EMSX Bloomberg, тестирует сервис
processEvent события отображений сопоставили с соединением с Bloomberg EMSX.
Подпишитесь, чтобы заказать события с помощью связи EMSX Bloomberg c сопоставленный с этими полями Bloomberg EMSX.
fields = {'EMSX_TICKER','EMSX_AMOUNT','EMSX_FILL'};
[events,osubs] = orders(c,fields)events =
MSG_TYPE: {'E'}
MSG_SUB_TYPE: {'O'}
EVENT_STATUS: 4
...
osubs =
com.bloomberglp.blpapi.SubscriptionList@4bc3dc78
events содержит поля для событий, сопоставленных с существующим Bloomberg порядки EMSX. osubs содержит объект списка подписки EMSX Bloomberg.
Подпишитесь, чтобы направить события для полей Bloomberg EMSX EMSX_BROKER и EMSX_WORKING использование связи EMSX Bloomberg c. Возвратите состояние для существующих маршрутов.
fields = {'EMSX_BROKER','EMSX_WORKING'};
[events,rsubs] = routes(c,fields)events =
MSG_TYPE: {5x1 cell}
MSG_SUB_TYPE: {5x1 cell}
EVENT_STATUS: [5x1 int32]
...
rsubs =
com.bloomberglp.blpapi.SubscriptionList@463b9287events содержит поля для событий в настоящее время в конечном счете очередь. rsubs содержит объект списка подписки EMSX Bloomberg.
Создайте структуру запроса порядка order задавать параметры порядка. Этот код создает порядок рынка покупки для 100 долей IBM®. Этот код использует брокера BB со временем в наборе силы к DAY и любая ручная инструкция. Преобразуйте количество долей к 32-битному использованию целого числа со знаком int32.
order.EMSX_TICKER = 'IBM'; order.EMSX_AMOUNT = int32(100); order.EMSX_ORDER_TYPE = 'MKT'; order.EMSX_BROKER = 'BB'; order.EMSX_TIF = 'DAY'; order.EMSX_HAND_INSTRUCTION = 'ANY'; order.EMSX_SIDE = 'BUY';
Создайте и направьте порядок с помощью связи EMSX Bloomberg c и порядок запрашивает структуру order.
events = createOrderAndRoute(c,order)
events =
EMSX_SEQUENCE: 335877
EMSX_ROUTE_ID: 1
MESSAGE: 'Order created and routed' Обработчик стандартного события обрабатывает события, сопоставленные с созданием и маршрутизацией порядка. createOrderAndRoute возвращает events как структура, которая содержит эти поля:
Bloomberg номер заказа EMSX
Bloomberg EMSX направляет идентификатор
Bloomberg сообщение EMSX
Задайте modroute структура, которая содержит эти поля:
Bloomberg EMSX заказывает порядковому номеру EMSX_SEQUENCE
Bloomberg тикер EMSX EMSX_TICKER
Bloomberg количество EMSX долей EMSX_AMOUNT
Bloomberg EMSX направляет идентификатор EMSX_ROUTE_ID
Этот код изменяет маршрут к 50 долям IBM для порядкового номера порядка 335877 и направьте идентификатор 1. Преобразуйте числа в 32-битное использование целых чисел со знаком int32.
modroute.EMSX_SEQUENCE = int32(335877)
modroute.EMSX_TICKER = 'IBM';
modroute.EMSX_AMOUNT = int32(50);
modroute.EMSX_ROUTE_ID = int32(1);Измените маршрут с помощью связи EMSX Bloomberg c и измените запрос маршрута modroute.
events = modifyRoute(c,modroute)
events =
EMSX_SEQUENCE: 0
EMSX_ROUTE_ID: 0
MESSAGE: 'Route modified'
Обработчик стандартного события обрабатывает события, сопоставленные с изменением маршрута. modifyRoute возвращает events как структура, которая содержит эти поля:
Bloomberg номер заказа EMSX
Bloomberg EMSX направляет идентификатор
Bloomberg сообщение EMSX
Задайте структуру routenum это содержит порядковый номер порядка EMSX_SEQUENCE для направленного порядка и номера маршрута EMSX_ROUTE_ID.
routenum.EMSX_SEQUENCE = 0; routenum.EMSX_ROUTE_ID = 0;
Удалите маршрут с помощью связи EMSX Bloomberg c и удалите структуру номера маршрута routenum.
events = deleteRoute(c,routenum)
events =
STATUS: '1'
MESSAGE: 'Route cancellation request sent to broker'
Обработчик стандартного события обрабатывает события, сопоставленные с удалением маршрута. deleteRoute возвращает events как структура, которая содержит эти поля:
Состояние Bloomberg EMSX
Bloomberg сообщение EMSX
Отпишитесь от порядка и направьте события с помощью объектов списка подписки EMSX Bloomberg osubs и rsubs. Этот код принимает это orders создает osubs и routes создает rsubs.
c.Session.unsubscribe(osubs) c.Session.unsubscribe(rsubs)
close(c)
emsx | close | createOrderAndRoute | orders | modifyRoute | deleteRoute | routes