Getting Started with Advanced Orders

Advanced orders allow one to place a sequence of orders in a single request. Typically, they rely on triggering conditions set with the market center that will take a particular action on the orders.

Advanced Order Types

  • One-triggers-other (OTO) - if the first order is filled, the second order is placed.
  • One-cancels-other (OCO) - if the first order is filled, the second order is canceled.
  • One-triggers-one-cancels-other (OTOCO) - if the first order is filled, a one-cancels-other (OCO) is placed.

Requests

Sending multiple orders is similar to sending multiple legs in that each order’s property keys are indexed (symbol[2]) to specify the correct arrangement of the orders.

Validations

Advanced orders have some different validations than regular orders. Each order type, has some special validations that will be enforced on order placement.

One-cancels-other (OCO)

  • type must be different for both legs.
  • If both orders are equities, the symbol must be the same.
  • If both orders are options, the option_symbol must be the same.

One-triggers-one-cancels-other (OTOCO)

  • If all equity orders, second and third orders must have the same symbol.
  • If all option orders, second and third orders must have the same option_symbol.
  • Second and third orders must always have a different type.