Order Management Algos (OMAs)

Order Management Algos (OMAs)

TT OCO Order Management Algo (OMA)

Note: The TT OCO Order Management Algo (OMA) is accessible only from an Order Book or Floating Order Book.

The TT OCO Order Management Algo (OMA) lets you select two or more working orders in the Order Book and apply an OCO (one-cancels-other) OMA to them. When one order is fully-filled, the other orders are canceled. Also, when partial fills are received for one order, the quantities of the other orders are reduced accordingly. The TT OCO OMA also lets you choose whether cancel the order if the market state of one of the child orders changes to a non-tradable state.

The TT OCO OMA works with existing orders without regard to whether they use different products and quantities. You could, for example, apply an TT OCO OMA algo to a working order for a 5-lot BRN Mar18 instrument and an order for a 10-lot CL Mar18 order.

Note: A TT OCO OMA can adopt exchange orders, TT Order Types, Synthetic Order Algos (SOA) created in ADL and child orders of other algos.

TT OCO OMA examples

The following is an example of creating an OCO order from three working orders for the ZC Mar18 contracts with different quantities (a 100-lot Buy order, a 60-lot Buy Stop order and a 20-lot Buy Stop order).

For every fill received by one order, the other order quantities will be reduced by the same quantity. This TT OCO OMA enables the Delete Orphan parameter to delete all other orders if any one of the orders is fully-filled.

Suppose you enable the Proportional parameter for this same algo, as shown below. If the 60-lot order gets a 15-lot fill (25%), the working quantities of the 100-lot and 20-lot orders will also be reduced by 25%, or 25 and 5, respectively.

OCO OMA parameters

The TT OCO OMA uses the following parameters:

  • Delete orphan: Whether to delete the balance of a larger order when an order with a smaller quantity is fully-filled.
    If, at any time, the working quantity of any one of the OCO OMA child orders goes to zero, the other orders are considered to be "orphans." When this parameter is TRUE, all remaining orders are deleted, regardless of their working quantities.
  • Enforce Mkt State: Whether to delete the OCO order, and its child orders, if the market state of one of the child instruments changes to a non-tradable state.
    If the market state of an instrument changes to something other than Open, and Enforce Mkt State is enabled, all orders will be deleted.
  • Proportional: Method to use when reducing the quantities of other legs when one leg is filled.
    • True: Reduce the other leg quantities by the same proportion of the fill quantity to the order quantity of the filled order.
    • False: (Default) Reduce the other leg quantities by the fill quantity of the filled order.
    For example, suppose you create an OCO OMA algo for a 100-lot order and two 50-lot orders and that the 100-lot order receives a fill for 20 lots (20%). If the Proportional parameter is True, the quantities of the remaining two 50-lot leg orders will also be reduced by 20%, or 10 lots each. If the parameter is false, the quantities of each of the other orders will be reduced by 20 contracts.
  • Ignore Market State: Whether to ignore the market state when submitting the parent OCO OMA.
  • Instance name: Optional name for this algo instance.
  • Co-location: Location of the Algo Server to run this algo.
    The Co-location drop down is seeded based on the market of the default instrument in the selected algo. It will also seed when multiple instruments are defined if all instruments are from the same market.
  • Disconnect action: Action to take if the client loses its connection to TT:
    • Leave to allow the algo to continue running normally.
    • Pause to suspend the algo until you manually restart it.
    • Cancel to delete the algo.
    Note: You can set the default Disconnect action in the Preferences