Управление порядком и маршрутом EMSX Bloomberg с помощью интерфейса EMSX C++ Bloomberg

В этом примере показано, как подключиться к Bloomberg® EMSX с интерфейсом Bloomberg EMSX C++, настройка порядка и маршрута подписки, создание и маршрутизация порядка, а также взаимодействие с маршрутом.

Для получения дополнительной информации о Bloomberg EMSX смотрите Руководство программиста EMSX API с помощью опции WAPI <GO> от терминала Bloomberg.

Подключиться к Bloomberg EMSX

Подключитесь к тестовому сервису 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

Настройка порядка и маршрута подписки

Подпишитесь на события заказа с помощью c подключения Bloomberg EMSX связана с этими полями 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.

Подпишитесь на маршруты событий для полей 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

Закройте соединение EMSX Bloomberg

close(c)

См. также

Объекты

Функции

Похожие темы

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

Для просмотра документации необходимо авторизоваться на сайте