ExecutionReport

struct ExecutionReport

FIX ExecutionReport <8> message.

This message is used to report current status of an order.

Public Functions

std::span<std::byte const> encode(roq::fix::Header const&, std::span<std::byte> const &buffer) const

Encode to buffer.

bool is_valid() const

Validate if message contains all required fields.

Public Members

std::string_view order_id

OrderID <37> (required)

std::string_view secondary_cl_ord_id

SecondaryClOrdID <526>

std::string_view cl_ord_id

ClOrdID <11>

std::string_view orig_cl_ord_id

OrigClOrdID <41>

std::string_view ord_status_req_id

OrdStatusReqID <790>

std::string_view mass_status_req_id

MassStatusReqID <584>

uint32_t tot_num_reports = {}

TotNumReports <911>

bool last_rpt_requested = false

LastRptRequested <912>

std::span<roq::codec::fix::Party const> no_party_ids

NoPartyIDS <453>

std::string_view exec_id

ExecID <17> (required)

roq::fix::ExecType exec_type = {}

ExecType <150> (required)

roq::fix::OrdStatus ord_status = {}

OrdStatus <39> (required)

bool working_indicator = false

WorkingIndicator <636>

roq::fix::OrdRejReason ord_rej_reason = {}

OrdRejReason <103>

std::string_view account

Account <1>

roq::fix::AccountType account_type = {}

AccountType <581>

std::string_view symbol

Symbol <55> (required)

std::string_view security_exchange

SecurityExchange <207> (required)

roq::fix::Side side = {}

Side <54> (required)

roq::fix::QtyType qty_type = {}

QtyType <854>

roq::fix::OrdType ord_type = {}

OrdType <40>

roq::Decimal order_qty = {}

OrderQty <38>

roq::Decimal price = {}

Price <44>

roq::Decimal stop_px = {}

StopPx <99>

std::string_view currency

Currency <15>

roq::fix::TimeInForce time_in_force = {}

TimeInForce <59>

std::string_view exec_inst

ExecInst <18>

roq::Decimal last_qty = {}

LastQty <32>

roq::Decimal last_px = {}

LastPx <31>

std::string_view trading_session_id

TradingSessionID <336>

roq::Decimal leaves_qty = {}

LeavesQty <151> (required)

roq::Decimal cum_qty = {}

CumQty <14> (required)

roq::Decimal avg_px = {}

AvgPx <6> (required)

std::chrono::milliseconds transact_time = {}

TransactTime <60>

roq::fix::PositionEffect position_effect = {}

PositionEffect <77>

roq::Decimal max_show = {}

MaxShow <210>

std::string_view text

Text <58>

roq::fix::LastLiquidityInd last_liquidity_ind = {}

LastLiquidityInd <851>

Public Static Functions

static ExecutionReport create(roq::fix::Message const&, std::span<std::byte> const &data)

Decode.