OrderUpdate

struct OrderUpdate

Update relating to current status of an order.

Public Members

uint16_t stream_id = {}

Stream identifier.

std::string_view account

Account name.

uint64_t order_id = {}

Order identifier.

std::string_view exchange

Exchange.

std::string_view symbol

Symbol.

roq::Side side = {}

Side.

roq::PositionEffect position_effect = {}

Position effect.

roq::MarginMode margin_mode = {}

Margin mode.

roq::QuantityType quantity_type = {}

Type of quantity (requires ecxhange support)

double max_show_quantity = roq::NaN

Quantity visible to market (base currency, requires exchange support)

roq::OrderType order_type = {}

Order type.

roq::TimeInForce time_in_force = {}

Time in force.

roq::Mask<roq::ExecutionInstruction> execution_instructions

Execution instructions.

std::chrono::nanoseconds create_time_utc = {}

Created timestamp (UTC)

std::chrono::nanoseconds update_time_utc = {}

Updated timestamp (UTC)

std::string_view external_account

External account name.

std::string_view external_order_id

External order identifier.

std::string_view client_order_id

Client order identifier.

roq::OrderStatus order_status = {}

Order status.

double quantity = roq::NaN

Quantity (base currency, total, indicative)

double price = roq::NaN

Price.

double stop_price = roq::NaN

Stop price (depends on order_type and time_in_force)

double risk_exposure = roq::NaN

Risk exposure.

double risk_exposure_change = roq::NaN

Risk exposure change.

double remaining_quantity = roq::NaN

Quantity (base currency, remaining)

double traded_quantity = roq::NaN

Quantity (base currency, total traded)

double average_traded_price = roq::NaN

Average price (total traded)

double last_traded_quantity = roq::NaN

Traded quantity (base currency, last trade)

double last_traded_price = roq::NaN

Traded price (last trade)

roq::Liquidity last_liquidity = {}

Liquidity indicator (last trade)

std::string_view routing_id

Routing identifier.

uint32_t max_request_version = {}

Last request version.

uint32_t max_response_version = {}

Last response version.

uint32_t max_accepted_version = {}

Last accepted version.

roq::UpdateType update_type = {}

Update type.

std::chrono::nanoseconds exchange_time_utc = {}

Exchange timestamp, possibly from matching engine (UTC)

uint64_t exchange_sequence = {}

Exchange message sequence number.

std::chrono::nanoseconds sending_time_utc = {}

Exchange sending timestamp (UTC)

std::string_view user

User name (optional, only relevant for drop-copy)

uint32_t strategy_id = {}

Strategy identifier (optional)