В этом примере показано, как подключиться к Bloomberg® EMSX с интерфейсом Bloomberg EMSX C++, настройка подписки на маршрут, создание и маршрутизация порядка и взаимодействие с маршрутом.
Для получения дополнительной информации о Bloomberg EMSX смотрите Руководство программиста EMSX API с помощью опции WAPI <GO> от терминала Bloomberg.
Подключитесь к тестовому сервису Bloomberg EMSX с помощью интерфейса Bloomberg EMSX 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 как подключение к тестовому сервису Bloomberg EMSX со следующими:
Объект сеанса EMSX Bloomberg
Объект услуги Bloomberg EMSX
IP-адрес машины, работающей под тестовым сервисом Bloomberg EMSX
Номер порта машины, выполняющей тестовую службу Bloomberg EMSX
Настройка подписки на маршруты для полей Bloomberg EMSX EMSX_BROKER и EMSX_WORKING использование Bloomberg EMSX- c. Возврат статуса существующих маршрутов.
fields = {'EMSX_BROKER','EMSX_WORKING'};
events = routes(c,fields)events =
MSG_TYPE: {5x1 cell}
MSG_SUB_TYPE: {5x1 cell}
EVENT_STATUS: [5x1 int32]
...
events содержит поля для событий, находящихся в очереди событий.
Создайте структуру запроса на заказ 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';
Создайте и маршрутизируйте порядок с помощью c подключения Bloomberg EMSX и структуру запроса порядка order.
events = createOrderAndRoute(c,order)
events =
EMSX_SEQUENCE: 335877
EMSX_ROUTE_ID: 1
MESSAGE: 'Order created and routed' Обработчик событий по умолчанию обрабатывает события, связанные с созданием и маршрутизацией порядка. createOrderAndRoute возвращает events как структура, содержащая эти поля:
Блумберг Номер порядка EMSX
Идентификатор маршрута EMSX Bloomberg
Сообщение Bloomberg EMSX
Определите modroute структура, содержащая следующие поля:
Блумберг EMSX порядка порядковый номер EMSX_SEQUENCE
Блумберг EMSX тикер символ EMSX_TICKER
Количество акций Bloomberg EMSX EMSX_AMOUNT
Идентификатор маршрута EMSX Bloomberg 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);Измените маршрут с помощью c подключения Bloomberg EMSX и измените запрос маршрута modroute.
events = modifyRoute(c,modroute)
events =
EMSX_SEQUENCE: 0
EMSX_ROUTE_ID: 0
MESSAGE: 'Route modified'
Обработчик событий по умолчанию обрабатывает события, связанные с изменением маршрута. modifyRoute возвращает events как структура, содержащая эти поля:
Блумберг Номер порядка EMSX
Идентификатор маршрута EMSX Bloomberg
Сообщение Bloomberg EMSX
Определите структуру routenum который содержит порядковый номер порядка EMSX_SEQUENCE и номер маршрута EMSX_ROUTE_ID сопоставлен с измененным маршрутом.
routenum.EMSX_SEQUENCE = 0; routenum.EMSX_ROUTE_ID = 0;
Удалите маршрут с помощью c подключения Bloomberg EMSX и удалите структуру номера маршрута routenum.
events = deleteRoute(c,routenum)
events =
STATUS: '1'
MESSAGE: 'Route cancellation request sent to broker'
Обработчик событий по умолчанию обрабатывает события, связанные с удалением маршрута. deleteRoute возвращает events как структура, содержащая эти поля:
Блумберг Статус EMSX
Сообщение Bloomberg EMSX
Отписывайтесь от событий маршрута с помощью подписки Bloomberg EMSX.
c.Session.stopSubscriptions
close(c)