groupRouteOrder
Route group of Bloomberg EMSX orders
Syntax
Description
groupRouteOrder(___,'useDefaultEventHandler',false)
        routes a group of Bloomberg EMSX orders using any of the previous input argument combinations and a custom
        event handler function. Write a custom event handler to process the events associated with
        routing a group of orders. This syntax does not have an output argument because the custom
        event handler processes the contents of the event queue.
___ = groupRouteOrder(
        uses the c,order,options)options structure to customize the output, which is useful for
        configuring and saving your options for repeated use. The available
          options structure fields are timeOut and
          useDefaultEventHandler. Use the events output
        argument when the useDefaultEventHandler field is set to
          true, and omit this output argument when the
          useDefaultEventHandler field is set to false.
Examples
Using a Bloomberg EMSX connection, route a group of Bloomberg EMSX orders.
To create a Bloomberg EMSX order, create the connection c using
            emsx and set up the order subscription using
            orders. For an example showing these activities, see Create and Manage Bloomberg EMSX Order.
Create the order request structure order1 to define the order
            parameters. In this case, the code creates a buy market order for 100 shares of
              IBM®. The code uses the broker BB with the time in force set
            to DAY and any hand instruction. Convert the number of shares to a
            32-bit signed integer using int32.
order1.EMSX_TICKER = 'IBM'; order1.EMSX_AMOUNT = int32(100); order1.EMSX_ORDER_TYPE = 'MKT'; order1.EMSX_BROKER = 'BB'; order1.EMSX_TIF = 'DAY'; order1.EMSX_HAND_INSTRUCTION = 'ANY'; order1.EMSX_SIDE = 'BUY';
Create the order using the Bloomberg EMSX connection c and order1.
events = createOrder(c,order1)
events = 
  struct with fields:
    EMSX_SEQUENCE: 354646
    MESSAGE: 'Order created'The default event handler processes the events associated with creating the order.
              createOrder returns events as a structure that
            contains these fields:
- EMSX_SEQUENCE— Bloomberg EMSX order number
- MESSAGE— Bloomberg EMSX message
Create another order request structure order2 to define the order
            parameters. In this case, the code creates a buy market order for 200 shares of
              IBM. The code uses the broker BB with the time in force set
            to DAY and any hand instruction. Convert the number of shares to a
            32-bit signed integer using int32.
order2.EMSX_TICKER = 'IBM'; order2.EMSX_AMOUNT = int32(200); order2.EMSX_ORDER_TYPE = 'MKT'; order2.EMSX_BROKER = 'BB'; order2.EMSX_TIF = 'DAY'; order2.EMSX_HAND_INSTRUCTION = 'ANY'; order2.EMSX_SIDE = 'BUY';
Create the second order using the Bloomberg EMSX connection c and order2.
events = createOrder(c,order2)
events = 
    
  struct with fields:
    EMSX_SEQUENCE: 354777
    MESSAGE: 'Order created'Route the two existing orders. Specify the order numbers, broker, and hand
            instruction in the order structure.
order.EMSX_SEQUENCE{1} = int32(354646);
order.EMSX_SEQUENCE{2} = int32(354777);
order.EMSX_BROKER = 'BB';
order.EMSX_HAND_INSTRUCTION = 'ANY';
events = groupRouteOrder(c,order)events = 
 
  struct with fields:
    EMSX_SEQUENCE: 354646
    EMSX_ROUTE_ID: 1
    MESSAGE: 'Order Routed'
The default event handler processes the events associated with routing a group of
            orders. events is a structure that contains these fields:
- EMSX_SEQUENCE— Bloomberg EMSX order numbers
- EMSX_ROUTE_ID— Bloomberg EMSX route identifier
- MESSAGE— Bloomberg EMSX message
Close the Bloomberg EMSX connection.
close(c)
Using a Bloomberg EMSX connection, route a group of Bloomberg EMSX orders. Specify a timeout value.
To create a Bloomberg EMSX order, create the connection c using
            emsx and set up the order subscription using
            orders. For an example showing these activities, see Create and Manage Bloomberg EMSX Order.
Create the order request structure order1 to define the order
            parameters. In this case, the code creates a buy market order for 100 shares of
              IBM. The code uses the broker BB with the time in force set
            to DAY and any hand instruction. Convert the number of shares to a
            32-bit signed integer using int32.
order1.EMSX_TICKER = 'IBM'; order1.EMSX_AMOUNT = int32(100); order1.EMSX_ORDER_TYPE = 'MKT'; order1.EMSX_BROKER = 'BB'; order1.EMSX_TIF = 'DAY'; order1.EMSX_HAND_INSTRUCTION = 'ANY'; order1.EMSX_SIDE = 'BUY';
Create the order using the Bloomberg EMSX connection c and order1.
events = createOrder(c,order1)
events = 
  struct with fields:
    
    EMSX_SEQUENCE: 354646
    MESSAGE: 'Order created'The default event handler processes the events associated with creating the order.
              createOrder returns events as a structure that
            contains these fields:
- EMSX_SEQUENCE— Bloomberg EMSX order number
- MESSAGE— Bloomberg EMSX message
Create another order request structure order2 to define the order
            parameters. In this case, the code creates a buy market order for 200 shares of
              IBM. The code uses the broker BB with the time in force set
            to DAY and any hand instruction. Convert the number of shares to a
            32-bit signed integer using int32.
order2.EMSX_TICKER = 'IBM'; order2.EMSX_AMOUNT = int32(200); order2.EMSX_ORDER_TYPE = 'MKT'; order2.EMSX_BROKER = 'BB'; order2.EMSX_TIF = 'DAY'; order2.EMSX_HAND_INSTRUCTION = 'ANY'; order2.EMSX_SIDE = 'BUY';
Create the second order using the Bloomberg EMSX connection c and order2.
events = createOrder(c,order2)
events = 
    
  struct with fields:
    EMSX_SEQUENCE: 354777
    MESSAGE: 'Order created'Route the two existing orders. Specify the order numbers, broker, and hand
            instruction in the order structure. Specify an additional option for
            a timeout value of 200 milliseconds by using the 'timeOut'
            flag.
order.EMSX_SEQUENCE{1} = int32(354646);
order.EMSX_SEQUENCE{2} = int32(354777);
order.EMSX_BROKER = 'BB';
order.EMSX_HAND_INSTRUCTION = 'ANY';
events = groupRouteOrder(c,order,'timeOut',200)events = 
 
  struct with fields:
    EMSX_SEQUENCE: 354646
    EMSX_ROUTE_ID: 1
    MESSAGE: 'Order Routed'
events is a structure that contains these fields:
- EMSX_SEQUENCE— Bloomberg EMSX order numbers
- EMSX_ROUTE_ID— Bloomberg EMSX route identifier
- MESSAGE— Bloomberg EMSX message
Close the Bloomberg EMSX connection.
close(c)
Using a Bloomberg EMSX connection, route a group of Bloomberg EMSX orders. Specify using a custom event handler function to process the events.
To create a Bloomberg EMSX order, create the connection c using
            emsx and set up the order subscription using
            orders. For an example showing these activities, see Create and Manage Bloomberg EMSX Order.
Create the order request structure order1 to define the order
            parameters. In this case, the code creates a buy market order for 100 shares of
              IBM. The code uses the broker BB with the time in force set
            to DAY and any hand instruction. Convert the number of shares to a
            32-bit signed integer using int32.
order1.EMSX_TICKER = 'IBM'; order1.EMSX_AMOUNT = int32(100); order1.EMSX_ORDER_TYPE = 'MKT'; order1.EMSX_BROKER = 'BB'; order1.EMSX_TIF = 'DAY'; order1.EMSX_HAND_INSTRUCTION = 'ANY'; order1.EMSX_SIDE = 'BUY';
Create the order using the Bloomberg EMSX connection c and order1.
events = createOrder(c,order1)
events = 
  struct with fields:
    
    EMSX_SEQUENCE: 354646
    MESSAGE: 'Order created'The default event handler processes the events associated with creating the order.
              createOrder returns events as a structure that
            contains these fields:
- EMSX_SEQUENCE— Bloomberg EMSX order number
- MESSAGE— Bloomberg EMSX message
Create another order request structure order2 to define the order
            parameters. In this case, the code creates a buy market order for 200 shares of
              IBM. The code uses the broker BB with the time in force set
            to DAY and any hand instruction. Convert the number of shares to a
            32-bit signed integer using int32.
order2.EMSX_TICKER = 'IBM'; order2.EMSX_AMOUNT = int32(200); order2.EMSX_ORDER_TYPE = 'MKT'; order2.EMSX_BROKER = 'BB'; order2.EMSX_TIF = 'DAY'; order2.EMSX_HAND_INSTRUCTION = 'ANY'; order2.EMSX_SIDE = 'BUY';
Create the second order using the Bloomberg EMSX connection c and order2.
events = createOrder(c,order2)
events = 
  struct with fields:
    
    EMSX_SEQUENCE: 354777
    MESSAGE: 'Order created'Route the two existing orders. Specify the order numbers, broker, and hand
            instruction in the order structure. Use a custom event handler
            function to process the events. You can use the sample event handler function
              processEvent or write your own custom event handler function. For
            this example, use processEvent to process the events.
order.EMSX_SEQUENCE{1} = int32(354646);
order.EMSX_SEQUENCE{2} = int32(354777);
order.EMSX_BROKER = 'BB';
order.EMSX_HAND_INSTRUCTION = 'ANY';
groupRouteOrder(c,order,'useDefaultEventHandler',false)
processEvent(c)Route = {
 
     EMSX_SEQUENCE = 354646
 
     EMSX_ROUTE_ID = 1
     
     MESSAGE = 'Order Routed'
 
     }
Close the Bloomberg EMSX connection.
close(c)
Using a Bloomberg EMSX connection, route a group of Bloomberg EMSX orders. Specify an additional option for a timeout value by using a structure.
To create a Bloomberg EMSX order, create the connection c using
            emsx and set up the order subscription using
            orders. For an example showing these activities, see Create and Manage Bloomberg EMSX Order.
Create the order request structure order1 to define the order
            parameters. In this case, the code creates a buy market order for 100 shares of
              IBM. The code uses the broker BB with the time in force set
            to DAY and any hand instruction. Convert the number of shares to a
            32-bit signed integer using int32.
order1.EMSX_TICKER = 'IBM'; order1.EMSX_AMOUNT = int32(100); order1.EMSX_ORDER_TYPE = 'MKT'; order1.EMSX_BROKER = 'BB'; order1.EMSX_TIF = 'DAY'; order1.EMSX_HAND_INSTRUCTION = 'ANY'; order1.EMSX_SIDE = 'BUY';
Create the order using the Bloomberg EMSX connection c and order1.
events = createOrder(c,order1)
events = 
    
  struct with fields:
    EMSX_SEQUENCE: 354646
    MESSAGE: 'Order created'The default event handler processes the events associated with creating the order.
              createOrder returns events as a structure that
            contains these fields:
- EMSX_SEQUENCE— Bloomberg EMSX order number
- MESSAGE— Bloomberg EMSX message
Create another order request structure order2 to define the order
            parameters. In this case, the code creates a buy market order for 200 shares of
              IBM. The code uses the broker BB with the time in force set
            to DAY and any hand instruction. Convert the number of shares to a
            32-bit signed integer using int32.
order2.EMSX_TICKER = 'IBM'; order2.EMSX_AMOUNT = int32(200); order2.EMSX_ORDER_TYPE = 'MKT'; order2.EMSX_BROKER = 'BB'; order2.EMSX_TIF = 'DAY'; order2.EMSX_HAND_INSTRUCTION = 'ANY'; order2.EMSX_SIDE = 'BUY';
Create the second order using the Bloomberg EMSX connection c and order2.
events = createOrder(c,order2)
events = 
    
  struct with fields:
    EMSX_SEQUENCE: 354777
    MESSAGE: 'Order created'Route the two existing orders. Specify the order numbers, broker, and hand
            instruction in the order structure. Specify an additional option for
            a timeout value of 200 milliseconds by using the options
            structure.
order.EMSX_SEQUENCE{1} = int32(354646);
order.EMSX_SEQUENCE{2} = int32(354777);
order.EMSX_BROKER = 'BB';
order.EMSX_HAND_INSTRUCTION = 'ANY';
options.timeOut = 200;
events = groupRouteOrder(c,order,options)events = 
 
  struct with fields:
    EMSX_SEQUENCE: 354646
    EMSX_ROUTE_ID: 1
    MESSAGE: 'Order Routed'
events is a structure that contains these fields:
- EMSX_SEQUENCE— Bloomberg EMSX order numbers
- EMSX_ROUTE_ID— Bloomberg EMSX route identifier
- MESSAGE— Bloomberg EMSX message
Close the Bloomberg EMSX connection.
close(c)
Input Arguments
Bloomberg EMSX service connection, specified as a connection
object created using emsx.
Order request, specified as a structure that contains these fields:
- EMSX_SEQUENCE— Order numbers
- EMSX_BROKER— Broker
- EMSX_HAND_INSTRUCTION— Hand instruction
Convert the order numbers to a 32-bit signed integer by using int32.
Data Types: struct
Timeout value, specified as a nonnegative integer. This integer denotes the time, in milliseconds, that the event handler listens to the event queue for each iteration of the code. The event handler can be a default or custom event handler.
Data Types: double
Options for a custom event handler or timeout value, specified as a structure. To reuse the
            settings for specifying a custom event handler or timeout value for the event handler,
            use the options structure.
For example, specify using a custom event handler and a timeout value of 200 milliseconds.
options.useDefaultEventHandler = false; options.timeOut = 200;
Data Types: struct
Output Arguments
Event queue contents, returned as a double or structure.
If the event queue contains events, events is
a structure containing the current contents of the event queue. Otherwise, events is
an empty double.
Version History
Introduced in R2019b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)