groupRouteOrderWithStrat

Маршрутная группа Bloomberg EMSX порядков со стратегиями

Описание

пример

events = groupRouteOrderWithStrat(c,route,strat) маршруты несколько Bloomberg® EMSX заказывает со стратегиями, используя соединительные c Bloomberg EMSX с интерфейсом Bloomberg EMSX 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.

Примеры

свернуть все

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

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

  • Порядки номера <reservedrangesplaceholder0> и 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};

Маршрутизируйте порядки с помощью соединения Bloomberg EMSX 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, содержащая номер порядка и идентификатор маршрута для порядков, который успешно маршрутизирован

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

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

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

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

Закройте подключение Bloomberg EMSX.

close(c)

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

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

  • Порядки номера <reservedrangesplaceholder0> и 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};

Маршрутизируйте порядки с помощью соединения Bloomberg EMSX 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, которая содержит номер порядка и идентификатор маршрута для порядков, который успешно маршрутизирован

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

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

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

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

Закройте подключение Bloomberg EMSX.

close(c)

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

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

  • Порядки номера <reservedrangesplaceholder0> и 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. Для получения дополнительной информации смотрите Запись и Выполнение Пользовательских Функций Обработчика Событий.

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

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

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

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

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

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

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

delete(t)

Закройте подключение Bloomberg EMSX.

close(c)

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

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

  • Порядки номера <reservedrangesplaceholder0> и 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 миллисекунд. Маршрутизируйте порядки с помощью соединения Bloomberg EMSX 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, которая содержит номер порядка и идентификатор маршрута для порядков, который успешно маршрутизирован

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

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

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

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

Закройте подключение Bloomberg EMSX.

close(c)

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

свернуть все

Bloomberg EMSX сервисное соединение, заданное как bloombergEMSX объект.

Запрос маршрута, заданный как структура, содержащая эти поля.

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

Область

Описание

EMSX_SEQUENCE

Блумберг EMSX порядка порядковый номер

EMSX_TICKER

Символ тикера EMSX для Bloomberg

EMSX_AMOUNT

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

EMSX_BROKER

Блумберг EMSX имя брокера

EMSX_HAND_INSTRUCTION

Блумберг EMSX ручная инструкция

EMSX_TIF

Блумберг 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

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

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

options.useDefaultEventHandler = false;
options.timeOut = 200;

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

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

свернуть все

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

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

Введенный в R2021a