Messages¶
CreateOrder¶
-
struct
roq
::
CreateOrder
¶ Fields required to create an order.
Public Members
-
std::string_view
account
¶ Account name (as known to the gateway)
-
uint32_t
order_id
= 0¶ Order identifier (as known to client)
-
std::string_view
exchange
¶ Exchange name.
-
std::string_view
symbol
¶ Symbol.
-
double
quantity
= std::numeric_limits<double>::quiet_NaN()¶ Order quantity.
-
double
price
= std::numeric_limits<double>::quiet_NaN()¶ Limit price (depends on order_type)
-
TimeInForce
time_in_force
= TimeInForce::UNDEFINED¶ Time in force.
-
PositionEffect
position_effect
= PositionEffect::UNDEFINED¶ Position effect.
-
ExecutionInstruction
execution_instruction
= ExecutionInstruction::UNDEFINED¶ Execution instruction.
-
double
stop_price
= std::numeric_limits<double>::quiet_NaN()¶ Stop price (depends on order_type and time_in_force)
-
double
max_show_quantity
= std::numeric_limits<double>::quiet_NaN()¶ Order quantity visible to market (depends on exchange support)
-
std::string_view
order_template
¶ Order template (as known to the gateway)
-
std::string_view
DownloadBegin¶
FundsUpdate¶
-
struct
roq
::
FundsUpdate
¶ Update relating to available funds.
Public Members
-
std::string_view
account
¶ Account name (as known to the gateway)
-
std::string_view
currency
¶ Currency name.
-
double
balance
= std::numeric_limits<double>::quiet_NaN()¶ Current funds.
-
double
hold
= std::numeric_limits<double>::quiet_NaN()¶ Funds on hold.
-
std::string_view
external_account
¶ External account name (as known to broker or exchange)
-
std::string_view
MarketByOrderUpdate¶
-
struct
roq
::
MarketByOrderUpdate
¶ Update relating to market by order.
MarketByPriceUpdate¶
-
struct
roq
::
MarketByPriceUpdate
¶ Update relating to market by price.
MarketDataStatus¶
-
struct
roq
::
MarketDataStatus
¶ Update relating to current status of market data connectivity.
Public Members
-
GatewayStatus
status
= GatewayStatus::UNDEFINED¶ Gateway status.
-
GatewayStatus
MarketStatus¶
-
struct
roq
::
MarketStatus
¶ Update relating to current trading status of a symbol.
Public Members
-
std::string_view
exchange
¶ Exchange name.
-
std::string_view
symbol
¶ Symbol.
-
TradingStatus
trading_status
= TradingStatus::UNDEFINED¶ Trading status.
-
std::string_view
OrderAck¶
-
struct
roq
::
OrderAck
¶ Acknowledgement that a create/modify/cancel order request has been seen by gateway/exchange.
Public Members
-
std::string_view
account
¶ Account name (as known to the gateway)
-
uint32_t
order_id
= 0¶ Order identifier (as known to client)
-
RequestType
type
= RequestType::UNDEFINED¶ Request type.
-
RequestStatus
status
= RequestStatus::UNDEFINED¶ Request status.
-
std::string_view
text
¶ Descriptive text.
-
uint32_t
gateway_order_id
= 0¶ Order identifier (as known to gateway)
-
std::string_view
external_account
¶ External account name (as known to broker or exchange)
-
std::string_view
external_order_id
¶ External order identifier (as known to broker or exchange)
-
std::string_view
request_id
¶ Request identifier (as sent to broker or exchange)
-
std::string_view
OrderManagerStatus¶
-
struct
roq
::
OrderManagerStatus
¶ Update relating to current status of order manager connectivity.
Public Members
-
std::string_view
account
¶ Account name (as known to the gateway)
-
GatewayStatus
status
= GatewayStatus::UNDEFINED¶ Gateway status.
-
std::string_view
OrderUpdate¶
-
struct
roq
::
OrderUpdate
¶ Update relating to current status of an order.
Public Members
-
std::string_view
account
¶ Account name (as known to the gateway)
-
uint32_t
order_id
= 0¶ Order identifier (as known to client)
-
std::string_view
exchange
¶ Exchange name.
-
std::string_view
symbol
¶ Symbol.
-
OrderStatus
status
= OrderStatus::UNDEFINED¶ Order status.
-
double
price
= std::numeric_limits<double>::quiet_NaN()¶ Price.
-
double
remaining_quantity
= std::numeric_limits<double>::quiet_NaN()¶ Remaining quantity.
-
double
traded_quantity
= std::numeric_limits<double>::quiet_NaN()¶ Traded quantity.
-
PositionEffect
position_effect
= PositionEffect::UNDEFINED¶ Position effect.
-
std::string_view
order_template
¶ Order template (as known to the gateway)
-
std::chrono::nanoseconds
create_time_utc
= {}¶ Created timestamp (UTC)
-
std::chrono::nanoseconds
update_time_utc
= {}¶ Updated timestamp (UTC)
-
uint32_t
gateway_order_id
= 0¶ Order identifier (as known to gateway)
-
std::string_view
external_account
¶ External account name (as known to broker or exchange)
-
std::string_view
external_order_id
¶ External order identifier (as known to broker or exchange)
-
std::string_view
PositionUpdate¶
-
struct
roq
::
PositionUpdate
¶ Update relating to current position for a symbol/side/account.
Public Members
-
std::string_view
account
¶ Account name (as known to the gateway)
-
std::string_view
exchange
¶ Exchange name.
-
std::string_view
symbol
¶ Symbol.
-
double
position
= std::numeric_limits<double>::quiet_NaN()¶ Current position.
-
uint32_t
last_trade_id
= 0¶ Last processed trade identifier.
-
double
position_cost
= std::numeric_limits<double>::quiet_NaN()¶ Position cost.
-
double
position_yesterday
= std::numeric_limits<double>::quiet_NaN()¶ Position as of yesterday.
-
double
position_cost_yesterday
= std::numeric_limits<double>::quiet_NaN()¶ Position cost as of yesterday.
-
std::string_view
external_account
¶ External account name (as known to broker or exchange)
-
std::string_view
ReferenceData¶
-
struct
roq
::
ReferenceData
¶ Update relating to the reference data for a symbol.
Public Members
-
std::string_view
exchange
¶ Exchange name.
-
std::string_view
symbol
¶ Symbol.
-
std::string_view
description
¶ Description.
-
SecurityType
security_type
= SecurityType::UNDEFINED¶ Security type.
-
std::string_view
currency
¶ Currency name.
-
std::string_view
settlement_currency
¶ Currency name.
-
std::string_view
commission_currency
¶ Currency name.
-
double
tick_size
= std::numeric_limits<double>::quiet_NaN()¶ Minimum price increment.
-
double
multiplier
= std::numeric_limits<double>::quiet_NaN()¶ Multiplier (notional)
-
double
min_trade_vol
= std::numeric_limits<double>::quiet_NaN()¶ Minimum trade volume.
-
OptionType
option_type
= OptionType::UNDEFINED¶ Option type.
-
std::string_view
strike_currency
¶ Strike currency.
-
double
strike_price
= std::numeric_limits<double>::quiet_NaN()¶ Strike price.
-
std::string_view
underlying
¶ Underlying instrument.
-
std::string_view
time_zone
¶ Time-zone.
-
roq::chrono::days
issue_date
= {}¶ Issue date.
-
roq::chrono::days
settlement_date
= {}¶ Settlement date.
-
std::chrono::seconds
expiry_datetime
= {}¶ Expiry datetime.
-
std::chrono::seconds
expiry_datetime_utc
= {}¶ Expiry datetime.
-
std::string_view
StatisticsUpdate¶
-
struct
roq
::
StatisticsUpdate
¶ Update relating to statistics published by the exchange.
Public Members
-
std::string_view
exchange
¶ Exchange name.
-
std::string_view
symbol
¶ Symbol.
-
roq::span<Statistics>
statistics
¶ List of statistics.
-
bool
snapshot
= false¶ Full update (possibly old) if true and otherwise an incremental update.
-
std::chrono::nanoseconds
exchange_time_utc
= {}¶ Exchange timestamp (UTC)
-
std::string_view
TradeUpdate¶
-
struct
roq
::
TradeUpdate
¶ Update relating to order being partially or fully filled.
Public Members
-
std::string_view
account
¶ Account name (as known to the gateway)
-
uint32_t
order_id
= 0¶ Order identifier (as known to client)
-
std::string_view
exchange
¶ Exchange name.
-
std::string_view
symbol
¶ Symbol.
-
PositionEffect
position_effect
= PositionEffect::UNDEFINED¶ Position effect.
-
std::string_view
order_template
¶ Order template (as known to the gateway)
-
std::chrono::nanoseconds
create_time_utc
= {}¶ Created timestamp (UTC)
-
std::chrono::nanoseconds
update_time_utc
= {}¶ Updated timestamp (UTC)
-
uint32_t
gateway_order_id
= 0¶ Order identifier (as known to gateway)
-
std::string_view
external_account
¶ External account name (as known to broker or exchange)
-
std::string_view
external_order_id
¶ External order identifier (as known to broker or exchange)
-
std::string_view