В этом примере показано, как подключиться к Bloomberg ® EMSX, создать заказ и взаимодействовать с ним.
Для получения подробной информации о Bloomberg EMSX см. Руководство программиста EMSX API с использованием опции WAPI < GO > на терминале Bloomberg.
Подключитесь к тестовой службе Bloomberg EMSX. Отображение текущего содержимого очереди событий с помощью processEvent.
c = emsx('//blp/emapisvc_beta');
processEvent(c)c =
emsx with properties:
Session: [1x1 com.bloomberglp.blpapi.Session]
Service: [1x1 com.bloomberglp.blpapi.impl.aQ]
Ipaddress: 'localhost'
Port: 8194
SessionConnectionUp = {
server = localhost/127.0.0.1:8194
}
SessionStarted = {
}
ServiceOpened = {
serviceName = //blp/emapisvc_beta
} Возврат MATLAB ®c в качестве соединения с тестовым сервисом Bloomberg EMSX со следующим:
Объект сеанса EMSX Bloomberg
Объект сервиса Bloomberg EMSX
IP-адрес машины, на которой запущена служба тестирования Bloomberg EMSX
Номер порта машины, на которой запущена служба тестирования Bloomberg EMSX
processEvent отображает события, связанные с подключением к Bloomberg EMSX.
Подписаться на заказ событий с помощью подключения Bloomberg EMSX c связанные с этими полями Bloomberg EMSX.
fields = {'EMSX_TICKER','EMSX_AMOUNT','EMSX_FILL'};
[events,subs] = orders(c,fields)events =
MSG_TYPE: {'E'}
MSG_SUB_TYPE: {'O'}
EVENT_STATUS: 4
...
subs =
com.bloomberglp.blpapi.SubscriptionList@4bc3dc78
events содержит поля для событий, связанных с существующими заказами Bloomberg EMSX. subs содержит объект списка подписок 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';
Создайте заказ с помощью подключения Bloomberg EMSX c и структура запроса заказа order.
events = createOrder(c,order)
order_events =
EMSX_SEQUENCE: 354646
MESSAGE: 'Order created'Обработчик событий по умолчанию обрабатывает события, связанные с созданием заказа. createOrder прибыль events как структура, содержащая следующие поля:
Номер заказа Bloomberg EMSX
Сообщение Bloomberg EMSX
Определение структуры modorder который содержит следующие поля:
Порядковый номер заказа Bloomberg EMSX EMSX_SEQUENCE
Символ бегущей строки Bloomberg EMSX EMSX_TICKER
Количество акций Bloomberg EMSX EMSX_AMOUNT
Этот код изменяет номер заказа 354646 за 200 акций IBM. Преобразование чисел в 32-разрядные целые числа со знаком с помощью int32.
modorder.EMSX_SEQUENCE = int32(354646);
modorder.EMSX_TICKER = 'IBM';
modorder.EMSX_AMOUNT = int32(200);
Изменение заказа с помощью подключения Bloomberg EMSX c и изменить структуру заказа modorder.
events = modifyOrder(c,modorder)
events =
EMSX_SEQUENCE: 354646
MESSAGE: 'Order Modified'
Обработчик событий по умолчанию обрабатывает события, связанные с изменением порядка. modifyOrder прибыль events как структура, содержащая следующие поля:
Номер заказа Bloomberg EMSX
Сообщение Bloomberg EMSX
Определение структуры ordernum который содержит порядковый номер заказа 354646 для заказа на удаление. Удаление заказа с помощью подключения Bloomberg EMSX c и структура номера заказа на удаление ordernum.
ordernum.EMSX_SEQUENCE = 354646; events = deleteOrder(c,ordernum)
events =
STATUS: '0'
MESSAGE: 'Order deleted'Обработчик событий по умолчанию обрабатывает события, связанные с удалением заказа. deleteOrder прибыль events как структура, содержащая следующие поля:
Bloomberg EMSX статус
Сообщение Bloomberg EMSX
Отменить подписку на события заказа с помощью объекта списка подписок Bloomberg EMSX subs.
c.Session.unsubscribe(subs)
close(c)
close | createOrder | deleteOrder | emsx | modifyOrder | orders