Order Management Algos (OMAs)

Order Management Algos (OMAs)

Conditional OMA

The Conditional OMA lets you set one order as the trigger condition (primary order) for working a second order (conditional order). The algo works the primary order and submits the second order on hold. As the first order receives fills, the algo submits the held order into the market and automatically increments the quantity of the second order.

The Condtional OMA is available only in "order building" mode within MD Trader, which lets you dynamically build an OMA from existing or new orders. After entering order building mode for the Conditional OMA, you either create or select the primary order, then create a new conditional order.

  1. Primary order. When this order receives a fill...
  2. Conditional order. ... the quantity of this order is incremented.

Limitations for adopting orders

The Conditional OMA can adopt exchange orders, TT Order Types, Synthetic Order Algos (SOAs) created in ADL and child orders of other algos. It cannot, however, adopt:

  • Autospreader® parent orders
  • Aggregator parent orders
  • OTC orders

Launching the Conditional OMA in builder mode

In this procedure, you launch the Conditional OMA to adopt an existing Buy order for a contract and create a new Sell order for the same contract. For each Buy fill, the algo submits an offsetting Sell order for the same quantity.

To launch TT public OMAs in builder mode:

  1. In MD Trader, click the custom action button you added for the OMA or select Conditional from the Order Type drop-down.

    The background color of the button and all MD Trader Header panels changes to yellow to indicate your are now in order builder mode, and the OMA order builder opens for the associated OMA algo.

  2. Specify the primary order. You can either use shift-right-click to select an existing order or enter a new order in an MD Trader widget. In this case, you right-click the Buy order to adopt it.

    The selected or new order is added to order builder.

    1. Shift-right-click the working order to add it to the algo order.
    2. The selected order appears in the order builder.
  3. Specify the conditional order. You can either shift-right-click to select an existing order or enter a new order in an MD Trader widget.

    1. For the conditional order, enter a new order at the desired price level.
    2. The new order is added to the order builder with a Hold status.
  4. In the order builder, click Launch algo.

    You can also enable Auto-launch to launch the algo automatically when the algo's required number of orders is added.

    The new algo parent order, along with its child orders, are added to the Order Book.

    1. Conditional OMA parent order.
    2. Primary child order. submitted as a Working order.
    3. Conditional child order, submitted as a Held order.

    Note: When launching a TT Conditional OMA, the Primary (first) order is submitted as a Working order, while the Conditional (second) child order is submitted as a Held order. When the primary order receives a fill, the conditional order changes to Working status.

Canceling Conditional OMA orders

If you cancel the parent order of a Conditional OMA, the parent order is deleted and:

  • Child orders added from existing orders will remain working in market.
  • Child orders added as new orders will be deleted.

Conditional OMA parameters

Note: To set parameters for the Conditional OMA, you must create an algo template in the Template Manager.

The Conditional OMA uses the following parameters:

  • 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