Создайте и управляйте Bloomberg маршрут EMSX Используя Bloomberg EMSX интерфейс C++

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

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

Соедините с Bloomberg EMSX

Соединитесь с тестовым сервисом 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, тестирует сервис

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

Настройте подписку маршрута для полей Bloomberg EMSX EMSX_BROKER и EMSX_WORKING использование связи EMSX Bloomberg 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';

Создайте и направьте порядок с помощью связи 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.

c.Session.stopSubscriptions

Закройте связь EMSX Bloomberg

close(c)

Смотрите также

Объекты

Функции

Похожие темы

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