exponenta event banner

groupRouteOrderWithStrat

Направьте несколько Bloomberg порядки EMSX со стратегиями

Синтаксис

events = groupRouteOrderWithStrat(c,route,strat)
events = groupRouteOrderWithStrat(c,route,strat,'timeOut',timeout)
groupRouteOrderWithStrat(___,'useDefaultEventHandler',false)
___ = groupRouteOrderWithStrat(c,route,strat,options)

Описание

пример

events = groupRouteOrderWithStrat(c,route,strat) маршруты несколько порядков Bloomberg® EMSX со стратегиями с помощью связи EMSX Bloomberg c, маршрут запрашивает route и стратегию strat. routeOrderWithStrat возвращает порядковый номер порядка, номер маршрута и сообщение о состоянии с помощью обработчика стандартного события.

пример

events = groupRouteOrderWithStrat(c,route,strat,'timeOut',timeout) задает значение тайм-аута timeout для выполнения обработчика стандартного события.

пример

groupRouteOrderWithStrat(___,'useDefaultEventHandler',false) маршруты несколько Bloomberg EMSX заказывают со стратегиями с помощью любого из входных параметров в предыдущих синтаксисах и пользовательском обработчике событий. Чтобы обработать события, сопоставленные с маршрутизацией порядков, запишите пользовательский обработчик событий. Этот синтаксис не имеет выходного аргумента, потому что пользовательский обработчик событий обрабатывает содержимое очереди событий. Если вы хотите использовать обработчик стандартного события вместо этого, установите флаг 'useDefaultEventHandler' на true и используйте выходной аргумент events. По умолчанию флаг 'useDefaultEventHandler' установлен в true.

пример

___ = groupRouteOrderWithStrat(c,route,strat,options) использует структуру options, чтобы настроить вывод, который полезен, чтобы предварительно сконфигурировать и сохранить ваши опции для повторного использования. Доступными полями структуры options является timeOut и useDefaultEventHandler. Используйте выходной аргумент events, когда флаг useDefaultEventHandler установлен в true, и не используйте этот выходной аргумент, когда useDefaultEventHandler установлен в false.

Примеры

свернуть все

Чтобы направить порядок EMSX Bloomberg со стратегиями, создайте связь c с помощью emsx, настройте подписку порядка с помощью orders и создайте порядок с помощью createOrder. Для примера, показывающего эти действия, смотрите, Создают и Управляют Порядком EMSX Bloomberg. Настройте подписку маршрута с помощью routes.

Задайте структуру запроса маршрута route. Преобразуйте числа в 32-битные целые числа со знаком с помощью int32. Этот код задает эти поля запроса маршрута:

  • Номера заказа 335877 и 335878

  • Символ запаса IBM®

  • 100 процентов долей, показанных на порядке, который будет направлен

  • Брокер BMTB

  • Любая ручная инструкция

  • Время в наборе силы к DAY

  • Тип порядка рынка

route.EMSX_SEQUENCE = {int32(335877);int32(335878)};
route.EMSX_TICKER = 'IBM';
route.EMSX_AMOUNT_PERCENT = int32(100);
route.EMSX_BROKER = 'BMTB';
route.EMSX_HAND_INSTRUCTION = 'ANY';
route.EMSX_TIF = 'DAY';
route.EMSX_ORDER_TYPE = 'MKT';

Создайте структуру стратегий порядка strat с помощью стратегии SSP. Преобразуйте полевые индикаторы в 32-битное целое число со знаком с помощью int32.

strat.EMSX_STRATEGY_NAME = 'SSP';
strat.EMSX_STRATEGY_FIELD_INDICATORS = int32([0 0 0]);
strat.EMSX_STRATEGY_FIELDS = {'09:30:00','14:30:00',50};

Направьте порядки с помощью связи EMSX Bloomberg c, route и strat.

events = groupRouteOrderWithStrat(c,route,strat)
events = 
 
     EMSX_SUCCESS_ROUTES: [1x1 struct]
      EMSX_FAILED_ROUTES: [1x1 struct]
                 MESSAGE: '1 of 1 Order(s) Routed'

   where

   events.EMSX_SUCCESS_ROUTES =

        EMSX_SEQUENCE: 335877
        EMSX_ROUTE_ID: 1

   and events.EMSX_FAILED_ROUTES =

        EMSX_SEQUENCE: 335878
           ERROR_CODE: 0
        ERROR_MESSAGE: {'Order 335878  View-only orders can not be routed'} 

Обработчик стандартного события обрабатывает события, сопоставленные с маршрутизацией порядка. groupRouteOrderWithStrat возвращает events как структуру, которая содержит эти поля:

  • Структура маршрутизации успеха EMSX Bloomberg, которая содержит номер заказа и идентификатор маршрута для порядков, которые успешно направили

  • EMSX Bloomberg привел маршрутизацию к сбою структуры, которая содержит номер заказа, код ошибки и сообщение об ошибке для порядков, которым не удалось направить

  • Bloomberg сообщение EMSX

Отпишитесь от порядка и направьте события с помощью объектов списка подписки EMSX Bloomberg osubs и rsubs. Этот код принимает, что orders создает osubs, и routes создает rsubs.

c.Session.unsubscribe(osubs)
c.Session.unsubscribe(rsubs)

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

close(c)

Чтобы направить порядок EMSX Bloomberg со стратегиями, создайте связь c с помощью emsx, настройте подписку порядка с помощью orders и создайте порядок с помощью createOrder. Для примера, показывающего эти действия, смотрите, Создают и Управляют Порядком EMSX Bloomberg. Настройте подписку маршрута с помощью routes.

Задайте структуру запроса маршрута route. Преобразуйте числа в 32-битные целые числа со знаком с помощью int32. Этот код задает эти поля запроса маршрута:

  • Номера заказа 335877 и 335878

  • Символ запаса IBM

  • 100 процентов долей, показанных на порядке, который будет направлен

  • Брокер BMTB

  • Любая ручная инструкция

  • Время в наборе силы к DAY

  • Тип порядка рынка

route.EMSX_SEQUENCE = {int32(335877);int32(335878)};
route.EMSX_TICKER = 'IBM';
route.EMSX_AMOUNT_PERCENT = int32(100);
route.EMSX_BROKER = 'BMTB';
route.EMSX_HAND_INSTRUCTION = 'ANY';
route.EMSX_TIF = 'DAY';
route.EMSX_ORDER_TYPE = 'MKT';

Создайте структуру стратегий порядка strat с помощью стратегии SSP. Преобразуйте полевые индикаторы в 32-битное целое число со знаком с помощью int32.

strat.EMSX_STRATEGY_NAME = 'SSP';
strat.EMSX_STRATEGY_FIELD_INDICATORS = int32([0 0 0]);
strat.EMSX_STRATEGY_FIELDS = {'09:30:00','14:30:00',50};

Направьте порядки с помощью связи EMSX Bloomberg c, route и strat. Установите значение тайм-аута к 200 миллисекундам.

events = groupRouteOrderWithStrat(c,route,strat,'timeOut',200)
events = 
 
     EMSX_SUCCESS_ROUTES: [1x1 struct]
      EMSX_FAILED_ROUTES: [1x1 struct]
                 MESSAGE: '1 of 1 Order(s) Routed'

   where

   events.EMSX_SUCCESS_ROUTES =

        EMSX_SEQUENCE: 335877
        EMSX_ROUTE_ID: 1

   and events.EMSX_FAILED_ROUTES =

        EMSX_SEQUENCE: 335878
           ERROR_CODE: 0
        ERROR_MESSAGE: {'Order 335878  View-only orders can not be routed'} 

Обработчик стандартного события обрабатывает события, сопоставленные с маршрутизацией порядка. groupRouteOrderWithStrat возвращает events как структуру, которая содержит эти поля:

  • Структура маршрутизации успеха EMSX Bloomberg, которая содержит номер заказа и идентификатор маршрута для порядков, которые успешно направили

  • EMSX Bloomberg привел маршрутизацию к сбою структуры, которая содержит номер заказа, код ошибки и сообщение об ошибке для порядков, которым не удалось направить

  • Bloomberg сообщение EMSX

Отпишитесь от порядка и направьте события с помощью объектов списка подписки EMSX Bloomberg osubs и rsubs. Этот код принимает, что orders создает osubs, и routes создает rsubs.

c.Session.unsubscribe(osubs)
c.Session.unsubscribe(rsubs)

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

close(c)

Чтобы направить порядок EMSX Bloomberg со стратегиями, создайте связь c с помощью emsx, настройте подписку порядка с помощью orders и создайте порядок с помощью createOrder. Для примера, показывающего эти действия, смотрите, Создают и Управляют Порядком EMSX Bloomberg. Настройте подписку маршрута с помощью routes.

Задайте структуру запроса маршрута route. Преобразуйте числа в 32-битные целые числа со знаком с помощью int32. Этот код задает эти поля запроса маршрута:

  • Номера заказа 335877 и 335878

  • Символ запаса IBM

  • 100 процентов долей, показанных на порядке, который будет направлен

  • Брокер BMTB

  • Любая ручная инструкция

  • Время в наборе силы к DAY

  • Тип порядка рынка

route.EMSX_SEQUENCE = {int32(335877);int32(335878)};
route.EMSX_TICKER = 'IBM';
route.EMSX_AMOUNT_PERCENT = int32(100);
route.EMSX_BROKER = 'BMTB';
route.EMSX_HAND_INSTRUCTION = 'ANY';
route.EMSX_TIF = 'DAY';
route.EMSX_ORDER_TYPE = 'MKT';

Создайте структуру стратегий порядка strat с помощью стратегии SSP. Преобразуйте полевые индикаторы в 32-битное целое число со знаком с помощью int32.

strat.EMSX_STRATEGY_NAME = 'SSP';
strat.EMSX_STRATEGY_FIELD_INDICATORS = int32([0 0 0]);
strat.EMSX_STRATEGY_FIELDS = {'09:30:00','14:30:00',50};

Предположим, что вы создаете пользовательскую функцию обработчика событий под названием eventhandler с входным параметром c. Запустите eventhandler с помощью timer. Чтобы сразу запустить eventhandler, запустите таймер с помощью start. Для получения дополнительной информации смотрите Запись и Выполнение Пользовательских Функций обработчика событий с Bloomberg EMSX.

t = timer('TimerFcn',{@c.eventhandler},'Period',1,...
          'ExecutionMode','fixedRate')
start(t)

t является объектом - таймером MATLAB®. Для получения дополнительной информации смотрите timer.

Направьте порядки с помощью связи EMSX Bloomberg c, route и strat. Установите флаг 'useDefaultEventHandler' на false так, чтобы eventhandler обработал события, сопоставленные с маршрутизацией порядка.

groupRouteOrderWithStrat(c,route,strat,'useDefaultEventHandler',false)

Отпишитесь от порядка и направьте события с помощью объектов списка подписки EMSX Bloomberg osubs и rsubs. Этот код принимает, что orders создает osubs, и routes создает rsubs. Чтобы остановить обновления данных, остановите таймер с помощью stop.

c.Session.unsubscribe(osubs)
c.Session.unsubscribe(rsubs)
stop(t)

Если вы сделаны, обработав обновления данных, удаляете таймер с помощью delete.

delete(t)

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

close(c)

Чтобы направить порядок EMSX Bloomberg со стратегиями, создайте связь c с помощью emsx, настройте подписку порядка с помощью orders и создайте порядок с помощью createOrder. Для примера, показывающего эти действия, смотрите, Создают и Управляют Порядком EMSX Bloomberg. Настройте подписку маршрута с помощью routes.

Задайте структуру запроса маршрута route. Преобразуйте числа в 32-битные целые числа со знаком с помощью int32. Этот код задает эти поля запроса маршрута:

  • Номера заказа 335877 и 335878

  • Символ запаса IBM

  • 100 процентов долей, показанных на порядке, который будет направлен

  • Брокер BMTB

  • Любая ручная инструкция

  • Время в наборе силы к DAY

  • Тип порядка рынка

route.EMSX_SEQUENCE = {int32(335877);int32(335878)};
route.EMSX_TICKER = 'IBM';
route.EMSX_AMOUNT_PERCENT = int32(100);
route.EMSX_BROKER = 'BMTB';
route.EMSX_HAND_INSTRUCTION = 'ANY';
route.EMSX_TIF = 'DAY';
route.EMSX_ORDER_TYPE = 'MKT';

Создайте структуру стратегий порядка strat с помощью стратегии SSP. Преобразуйте полевые индикаторы в 32-битное целое число со знаком с помощью int32.

strat.EMSX_STRATEGY_NAME = 'SSP';
strat.EMSX_STRATEGY_FIELD_INDICATORS = int32([0 0 0]);
strat.EMSX_STRATEGY_FIELDS = {'09:30:00','14:30:00',50};

Создайте структуру options. Чтобы использовать обработчик стандартного события, установите поле useDefaultEventHandler на true. Установите поле timeOut на 200 миллисекунд. Направьте порядки с помощью связи EMSX Bloomberg c, route, strat и структура опций options.

options.useDefaultEventHandler = true;
options.timeOut = 200;

events = groupRouteOrderWithStrat(c,route,strat,options)
events = 
 
     EMSX_SUCCESS_ROUTES: [1x1 struct]
      EMSX_FAILED_ROUTES: [1x1 struct]
                 MESSAGE: '1 of 1 Order(s) Routed'

   where

   events.EMSX_SUCCESS_ROUTES =

        EMSX_SEQUENCE: 335877
        EMSX_ROUTE_ID: 1

   and events.EMSX_FAILED_ROUTES =

        EMSX_SEQUENCE: 335878
           ERROR_CODE: 0
        ERROR_MESSAGE: {'Order 335878  View-only orders can not be routed'} 

Обработчик стандартного события обрабатывает события, сопоставленные с маршрутизацией порядка. groupRouteOrderWithStrat возвращает events как структуру, которая содержит эти поля:

  • Структура маршрутизации успеха EMSX Bloomberg, которая содержит номер заказа и идентификатор маршрута для порядков, которые успешно направили

  • EMSX Bloomberg привел маршрутизацию к сбою структуры, которая содержит номер заказа, код ошибки и сообщение об ошибке для порядков, которым не удалось направить

  • Bloomberg сообщение EMSX

Отпишитесь от порядка и направьте события с помощью объектов списка подписки EMSX Bloomberg osubs и rsubs. Этот код принимает, что orders создает osubs, и routes создает rsubs.

c.Session.unsubscribe(osubs)
c.Session.unsubscribe(rsubs)

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

close(c)

Входные параметры

свернуть все

Bloomberg сервисная связь EMSX, заданная как объект связи, созданный с помощью emsx.

Направьте запрос, заданный как структура, содержащая эти поля.

Преобразуйте числа в 32-битные целые числа со знаком с помощью int32. EMSX_SEQUENCE должен обозначить существующий порядковый номер порядка.

Поле

Описание

EMSX_SEQUENCE

Bloomberg EMSX заказывает порядковый номер

EMSX_TICKER

Bloomberg тикер EMSX

EMSX_AMOUNT

Bloomberg количество EMSX долей

EMSX_BROKER

Bloomberg имя брокера EMSX

EMSX_HAND_INSTRUCTION

Bloomberg EMSX вручает инструкцию

EMSX_TIF

Bloomberg время EMSX в силе

EMSX_ORDER_TYPE

Bloomberg EMSX заказывает тип

Пример: route.EMSX_SEQUENCE = int32(728918);
route.EMSX_TICKER = 'XYZ';
route.EMSX_AMOUNT = int32(100);
route.EMSX_BROKER = 'BB';
route.EMSX_HAND_INSTRUCTION = 'ANY';
route.EMSX_TIF = 'DAY';
route.EMSX_ORDER_TYPE = 'MKT';

Типы данных: struct

Закажите стратегии, заданные как структура, которая содержит поля: EMSX_STRATEGY_NAME, EMSX_STRATEGY_FIELD_INDICATORS и EMSX_STRATEGY_FIELDS. Значения полей структуры должны выровняться с полями стратегии, заданными EMSX_STRATEGY_NAME. Для получения дополнительной информации о полях стратегии и упорядоченном расположении, смотрите getBrokerInfo.

Преобразуйте EMSX_STRATEGY_FIELD_INDICATORS в 32-битное целое число со знаком с помощью int32. Установите EMSX_STRATEGY_FIELD_INDICATORS, равный 0 для каждого поля использовать полевую установку данных в EMSX_FIELD_DATA. Или, установите EMSX_STRATEGY_FIELD_INDICATORS, равный 1 игнорировать данные в EMSX_FIELD_DATA.

Пример: strat.EMSX_STRATEGY_NAME = 'SSP';
strat.EMSX_STRATEGY_FIELD_INDICATORS = int32([0 0 0]);
strat.EMSX_STRATEGY_FIELDS = {'09:30:00','14:30:00',50};

Типы данных: struct

Значение тайм-аута, заданное как неотрицательное целое число. Это целое число обозначает время в миллисекундах, обработчик событий слушает очередь для события для каждой итерации кода. Обработчик событий может быть или пользовательским обработчиком событий по умолчанию.

Типы данных: double

Опции для пользовательского обработчика событий или значения тайм-аута, заданного как структура. Чтобы снова использовать настройки для определения пользовательского обработчика событий или значения тайм-аута для обработчика событий, используйте структуру опций.

Задайте использование пользовательского обработчика событий и значения тайм-аута 500 миллисекунд.

Пример: options.useDefaultEventHandler = false;
options.timeOut = 500;

Типы данных: struct

Выходные аргументы

свернуть все

Содержимое очереди событий, возвращенное как двойное или структура.

Если очередь событий содержит события, events является структурой, содержащей текущее содержимое очереди событий. В противном случае events является пустым дважды.

Введенный в R2015b