Message: OrderStatus

File: WebAPI/order_2.proto

Description

Status of order.

Used in

HistoricalOrdersReport, OrderStatusReport, ServerMsg

Fields

subscription_ids

Type: uint32

Description: List of trade subscription IDs this status is related to.

is_snapshot

Type: bool

Description: True if this is a snapshot related message. Since snapshot might be sent in several messages (including none), client should use TradeSnapshotCompletion message as an indicator of complete snapshot delivery for a particular subscription.

status

Type: uint32

Description: This field is associated with shared_1.OrderStatus.Status enum type.

order_id

Type: string

Description: Order ID assigned by server. It is changed by server after each modify request acknowledgment. Some fields and nested messages of OrderStatus message may be different for different accounts for the same order (i.e. same order_id).

chain_order_id

Type: string

Description: Order ID assigned by server to originally placed order. It stays the same regardless of modification requests.

exec_order_id

Type: string

Description: Order ID assigned by execution system (e.g., exchange).

detailed_dom_order_id

Type: string

Description: ID used to determine a user’s order in Detailed DOM. Is unique for an exchange. contract_id + detailed_dom_order_id pair is unique among all orders of a user.

status_utc_time (deprecated)

Type: sint64

Description: Note: Use status_utc_timestamp field instead.

status_utc_timestamp

Type: google.protobuf.Timestamp

Description: Last order change time from server perspective (UTC). It is not guaranteed that order status (e.g., from different order chain) which comes later has bigger timestamp.

submission_utc_time (deprecated)

Type: sint64

Description: Note: Use submission_utc_timestamp field instead.

submission_utc_timestamp

Type: google.protobuf.Timestamp

Description: Time when original order was submitted to the execution system by server (UTC).

uint32_fill_qty (deprecated)

Type: uint32

Description: Note: Use fill_qty field instead.

fill_qty

Type: cqg.Decimal

Description: Filled quantity.

fill_cnt

Type: uint32

Description: Number of fill events.

scaled_avg_fill_price

Type: sint64

Description: Average fill price. NOTE: this price is aligned by ContractMetadata.correct_price_scale so don’t use it for OTE/UPL calculation but use prices from individual TRADE elements. See also avg_fill_price_correct field.

avg_fill_price_correct

Type: double

Description: Average fill price in correct price format. Could have higher precision than avg_fill_price multiplied by correct_price_scale.

active_at_utc_time (deprecated)

Type: sint64

Description: Note: Use active_at_utc_timestamp field instead.

active_at_utc_timestamp

Type: google.protobuf.Timestamp

Description: Time when order should be submitted to execution system as assigned by server (UTC).

uint32_remaining_qty (deprecated)

Type: uint32

Description: Note: Use remaining_qty field instead.

remaining_qty

Type: cqg.Decimal

Description: Remaining (unfilled) order quantity. It is not always equal to order size minus filled size (for example, busted orders violate that).

order

Type: Order

Description: Order with updated attributes. Server may not send it if order attributes remained the same since last update.

transaction_statuses

Type: TransactionStatus

Description: List of [last] transactions. In case of initial snapshot (if last_orders_update_utc_time was not set in TradeSubscription) all available transactions are sent. This list can be empty if this status is sent to update order attributes only (e.g., to update prices of trailing orders). It is guaranteed that this list is sorted by transaction identifier (TransactionStatus.trans_id).

reject_utc_timestamp

Type: google.protobuf.Timestamp

Description: Time of the latest REJECTED, REJECT_CANCEL or REJECT_MODIFY transaction, if any (UTC). Note: Only transactions present in this message in OrderStatus.transaction_status contribute to this field.

reject_message

Type: string

Description: Message of the latest REJECTED, REJECT_CANCEL or REJECT_MODIFY transaction, if any. Note: Only transactions present in this message in OrderStatus.transaction_status contribute to this field.

cancel_utc_timestamp

Type: google.protobuf.Timestamp

Description: Time of the latest ACK_CANCEL transaction, if any (UTC).

fill_utc_timestamp

Type: google.protobuf.Timestamp

Description: Time of the latest FILL transaction, if any (UTC).

expiration_utc_timestamp

Type: google.protobuf.Timestamp

Description: Time of the order expiration (UTC).

has_fill_with_modified_qty (deprecated)

Type: bool

Description: Whether there is FILL_CORRECT with updated quantity. Canceled and busted fills are ignored. Note: Only transactions present in this message in OrderStatus.transaction_status contribute to this field.

has_fill_with_modified_price (deprecated)

Type: bool

Description: Whether there is FILL_CORRECT with updated price. Canceled and busted fills are ignored. Note: Only transactions present in this message in OrderStatus.transaction_status contribute to this field.

entered_by_user

Type: string

Description: User who placed the order, or user on whose behalf the order was placed.

first_statement_date

Type: sint64

Description: Statement date when this order was submitted.

last_statement_date

Type: sint64

Description: Last statement date this order belongs to. It is set when order is cleaned by a statement report or other event so that order is not ‘current’ any longer. For example, canceled synthetic strategy leg orders without fills may be cleared before the end of ‘current’ day.

contract_metadata

Type: metadata_2.ContractMetadata

Description: Multiple OrderStatus and PositionStatus messages in a single ServerMsg can reference the same contract. If the contract is unknown to the client before this ServerMsg, contract metadata will be added in at least one of them. If in your code you process orders first and positions second then during processing orders you may encounter order with yet unknown contract_id. In this case you should look for matching contract metadata in positions. The opposite is also true: contract metadata for positions can be in order status messages.

account_id

Type: sint32

Description: ID of an account for this order status. Some fields and nested messages of OrderStatus message may be different for different accounts for the same order (i.e. same order_id).

compound_order_structure

Type: CompoundOrderStructure

Description: If the order is part of a compound order, then this field describes the structure of the compound.

hang_count

Type: uint32

Description: The number of active (not resolved) hangs on this synthetic strategy order.

strategy_properties

Type: strategy_2.SyntheticStrategyProperties

Description: Synthetic order’s outright properties

cross_transaction_id

Type: string

Description: Cross transaction ID assigned by exchange.

exchange_extra_attributes

Type: shared_1.NamedValue

Description: Exchange specific extra attributes.

fill_commission

Type: Commission

Description: Cumulative commission charged for the order fills. CQG trade routing system might not provide this information for some contracts.

route_cl_order_id

Type: string

Description: Order identifier assigned by server when sending the order to execution system.

mifid_execution_decision

Type: string

Description: Actual value of MiFID Execution Within Firm associated with initial or acknowledged modify order request of this order chain for execution in this account

mifid_execution_decision_is_algo

Type: bool

Description: Indicates whether MiFID Execution decision identifies a person (false) or algorithm (true)

mifid_investment_decision

Type: string

Description: Actual value of MiFID Investment Decision Within Firm associated with initial or acknowledged modify order request of this order chain.

mifid_investment_decision_is_algo

Type: bool

Description: Indicates whether MiFID investment decision identifies a person (false) or algorithm (true)

sender_location_id

Type: string

Description: Message originator location (i.e. geographic location)

sender_operator_id

Type: string

Description: Message originator identifier (desk, trader etc)

operator_id

Type: string

Description: Applied effective value of message originator identifier

fill_care_order_request_id

Type: string

Description: Identifier that is used to match two filled care orders.

allocated_qty

Type: cqg.Decimal

Description: Total quantity of allocated fills for the allocation order. If allocated_qty < fill_qty, it means that not all fills have been allocated. This field is changed by transaction with FILLS_ALLOCATION status. See AllocationRequest.