В этом примере показано, как соединиться с 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, тестирует сервис
Настройте подписку маршрута для полей 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
close(c)