Message: OrderRequest

File: WebAPI/order_2.proto

Description

One of the order related requests. There must be only one optional order submessage specified per request. E.g NewOrder, but not NewOrder and CancelOrder. It is required to perform a TradeSubscription before any order requests, the subscription is required in order to receive order events.

Prerequisites: the client must have certain entitlements to place new orders. See OrderEntitlementRequest.

Limits:

1.  The request rate is 300 orders per 10 seconds by default. This is the total limit for order actions across all accounts within the session.

2.  A per-account limit is set to 10 order requests per second by default.

Response: zero or more OrderStatus(-es) (depends on the order type and other parameters) if there is TradeSubscription with SUBSCRIPTION_SCOPE_ORDERS, OrderRequestReject.

Used in

ClientMsg

Fields

request_id

Type: uint32

Description: ID of a request that should be unique enough to match with possible OrderRequestReject.

new_order

Type: NewOrder

Description: New order request (place order).

modify_order

Type: ModifyOrder

Description: Modify order request.

cancel_order

Type: CancelOrder

Description: Cancel order request.

cancel_all_orders

Type: CancelAllOrders

Description: Cancel all orders request.

liquidate_all

Type: LiquidateAll

Description: Liquidate all open positions.

go_flat

Type: GoFlat

Description: Cancel all orders and liquidate all open positions.

suspend_order

Type: SuspendOrder

Description: Suspend (park) order.

activate_order

Type: ActivateOrder

Description: Activate suspended (parked) order.

modify_user_attributes

Type: user_attribute_2.ModifyUserAttributes

Description: Modify order’s user attributes.

new_compound_order

Type: NewCompoundOrder

Description: New compound order request (place compound order).

synthetic_liquidate

Type: strategy_2.SyntheticLiquidate

Description: Synthetic hangup liquidation with a MKT order.

synthetic_scratch

Type: strategy_2.SyntheticScratch

Description: Synthetic hangup liquidation with a LMT order.

go_market

Type: strategy_2.GoMarket

Description: Modify a synthetic order to get an immediate fill.

approve_order

Type: ApproveOrder

Description: Approve order with ORDER_TYPE_CROSS type.

fill_care_order

Type: FillCareOrder

Description: Fill specific care order.

on_behalf_of_user

Type: string

Description: Username of the user on whose behalf the order request is being sent. Must be a known username in the CQG trade routing system, otherwise the order will be rejected.

client_regulatory_algorithm_id

Type: uint32

Description: Regulatory Algorithm ID for client algorithm associated with this order, if any. This field is applicable only for exchanges that use it, e.g., Eurex (not currently used, remains in protocol for backward compatibility only). TransactionStatus message echoes back the value from the latest order request

mifid_algorithm_id

Type: string

Description: MiFID algorithm ID for this order, contents depend on mifid_algorithm_id_type. Provide only when the order must have an algorithm as Execution Within Firm under MiFID II definitions.

mifid_algorithm_id_type

Type: uint32

Description: The type of mifid_algorithm_id supplied. One of MiFIDAlgorithmIdType enum.

override_execution_within_firm_with_nore

Type: bool

Default: false

Description: True instructs the server to send this order as Execution Within Firm=CLIENT/NORE rather than the user’s server-side configured trader short code.

mifid_investment_decision_id

Type: string

Description: MiFID investment decision ID for this order, contents depend on mifid_investment_decision_id_type.

mifid_investment_decision_id_type

Type: uint32

Description: The type of mifid_investment_decision_id supplied. One of MiFIDInvestmentDecisionIdType enum.

mifid_execution_decision_id

Type: string

Description: MiFID execution decision ID for this order, contents depend on mifid_execution_decision_id_type. Note: This field is used only by approved clients for absolute pass-through; orders from any other clients that use the field will be rejected. Use general-purpose field mifid_algorithm_id with mifid_algorithm_id_type=1 (MIFID_ALGORITHM_ID_TYPE_EXTERNAL) when execution decision is made by an algorithm with registered short code.

mifid_execution_decision_id_type

Type: uint32

Description: The type of mifid_execution_decision_id supplied. One of MiFIDExecutionDecisionIdType enum.

is_automated

Type: bool

Description: True if this is an automated order request, manual (request placed by the user direct action) otherwise.

sender_location_id

Type: string

Description: Message originator location (i.e. geographic location). Format: “CC[,SS]”, CountryCode (ISO 3166-1 alpha 2) and StateCode (postal abbreviation) when sending country code is “US” or “CA”. Examples: “US,CA”, “GB”.

sender_operator_id

Type: string

Description: Message originator identifier (desk, trader etc). It is passed directly to the exchange in the appropriate exchange API field/tag, often ‘Operator ID’, ‘tag 50’, or similar.