В этом примере показано, как подключиться к 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
Подпишитесь на события заказа с помощью 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.
Создайте структуру запроса на заказ order для порядка на покупку 400 акций IBM®. Укажите брокера следующим EFIX, используйте любую ручную инструкцию и установите время в силе DAY.
order.EMSX_ORDER_TYPE = 'MKT'; order.EMSX_SIDE = 'BUY'; order.EMSX_TICKER = 'IBM'; order.EMSX_AMOUNT = int32(400); order.EMSX_BROKER = 'EFIX'; order.EMSX_HAND_INSTRUCTION = 'ANY'; order.EMSX_TIF = 'DAY';
Создайте порядок с помощью c подключения Bloomberg EMSX и структуру запроса порядка order.
events = createOrder(c,order)
order_events =
EMSX_SEQUENCE: 354646
MESSAGE: 'Order created'Обработчик событий по умолчанию обрабатывает события, связанные с созданием порядка. createOrder возвращает events как структура, содержащая эти поля:
Блумберг Номер порядка EMSX
Сообщение Bloomberg EMSX
Определите структуру modorder который содержит следующие поля:
Блумберг EMSX порядка порядковый номер EMSX_SEQUENCE
Блумберг EMSX тикер символ EMSX_TICKER
Количество акций Bloomberg EMSX EMSX_AMOUNT
Этот код изменяет порядок номер <reservedrangesplaceholder0> за 200 акций IBM. Преобразуйте числа в 32-битные целые числа со знаком с помощью int32.
modorder.EMSX_SEQUENCE = int32(354646);
modorder.EMSX_TICKER = 'IBM';
modorder.EMSX_AMOUNT = int32(200);
Измените порядок с помощью c подключения Bloomberg EMSX и изменение структуры порядка modorder.
events = modifyOrder(c,modorder)
events =
EMSX_SEQUENCE: 354646
MESSAGE: 'Order Modified'
Обработчик событий по умолчанию обрабатывает события, связанные с изменением порядка. modifyOrder возвращает events как структура, содержащая эти поля:
Блумберг Номер порядка EMSX
Сообщение Bloomberg EMSX
Определите структуру ordernum который содержит порядковый номер порядка 354646 для порядка на удаление. Удалите порядок с помощью c подключения Bloomberg EMSX и структуру номера порядка на удаление ordernum.
ordernum.EMSX_SEQUENCE = 354646; events = deleteOrder(c,ordernum)
events =
STATUS: '0'
MESSAGE: 'Order deleted'Обработчик событий по умолчанию обрабатывает события, связанные с удалением порядка. deleteOrder возвращает events как структура, содержащая эти поля:
Блумберг Статус EMSX
Сообщение Bloomberg EMSX
Отписывайтесь от событий порядка с помощью подписки Bloomberg EMSX.
c.Session.stopSubscriptions
close(c)
close | createOrder | deleteOrder | modifyOrder | orders