149 lines
5.0 KiB
C++
149 lines
5.0 KiB
C++
#ifndef FIX42_EXECUTIONREPORT_H
|
|
#define FIX42_EXECUTIONREPORT_H
|
|
|
|
#include "Message.h"
|
|
|
|
namespace FIX42
|
|
{
|
|
|
|
class ExecutionReport : public Message
|
|
{
|
|
public:
|
|
ExecutionReport() : Message(MsgType()) {}
|
|
ExecutionReport(const FIX::Message& m) : Message(m) {}
|
|
ExecutionReport(const Message& m) : Message(m) {}
|
|
ExecutionReport(const ExecutionReport& m) : Message(m) {}
|
|
static FIX::MsgType MsgType() { return FIX::MsgType("8"); }
|
|
|
|
ExecutionReport(
|
|
const FIX::OrderID& aOrderID,
|
|
const FIX::ExecID& aExecID,
|
|
const FIX::ExecTransType& aExecTransType,
|
|
const FIX::ExecType& aExecType,
|
|
const FIX::OrdStatus& aOrdStatus,
|
|
const FIX::Symbol& aSymbol,
|
|
const FIX::Side& aSide,
|
|
const FIX::LeavesQty& aLeavesQty,
|
|
const FIX::CumQty& aCumQty,
|
|
const FIX::AvgPx& aAvgPx )
|
|
: Message(MsgType())
|
|
{
|
|
set(aOrderID);
|
|
set(aExecID);
|
|
set(aExecTransType);
|
|
set(aExecType);
|
|
set(aOrdStatus);
|
|
set(aSymbol);
|
|
set(aSide);
|
|
set(aLeavesQty);
|
|
set(aCumQty);
|
|
set(aAvgPx);
|
|
}
|
|
|
|
FIELD_SET(*this, FIX::OrderID);
|
|
FIELD_SET(*this, FIX::SecondaryOrderID);
|
|
FIELD_SET(*this, FIX::ClOrdID);
|
|
FIELD_SET(*this, FIX::OrigClOrdID);
|
|
FIELD_SET(*this, FIX::ClientID);
|
|
FIELD_SET(*this, FIX::ExecBroker);
|
|
FIELD_SET(*this, FIX::ListID);
|
|
FIELD_SET(*this, FIX::ExecID);
|
|
FIELD_SET(*this, FIX::ExecTransType);
|
|
FIELD_SET(*this, FIX::ExecRefID);
|
|
FIELD_SET(*this, FIX::ExecType);
|
|
FIELD_SET(*this, FIX::OrdStatus);
|
|
FIELD_SET(*this, FIX::OrdRejReason);
|
|
FIELD_SET(*this, FIX::ExecRestatementReason);
|
|
FIELD_SET(*this, FIX::Account);
|
|
FIELD_SET(*this, FIX::SettlmntTyp);
|
|
FIELD_SET(*this, FIX::FutSettDate);
|
|
FIELD_SET(*this, FIX::Symbol);
|
|
FIELD_SET(*this, FIX::SymbolSfx);
|
|
FIELD_SET(*this, FIX::SecurityID);
|
|
FIELD_SET(*this, FIX::IDSource);
|
|
FIELD_SET(*this, FIX::SecurityType);
|
|
FIELD_SET(*this, FIX::MaturityMonthYear);
|
|
FIELD_SET(*this, FIX::MaturityDay);
|
|
FIELD_SET(*this, FIX::PutOrCall);
|
|
FIELD_SET(*this, FIX::StrikePrice);
|
|
FIELD_SET(*this, FIX::OptAttribute);
|
|
FIELD_SET(*this, FIX::ContractMultiplier);
|
|
FIELD_SET(*this, FIX::CouponRate);
|
|
FIELD_SET(*this, FIX::SecurityExchange);
|
|
FIELD_SET(*this, FIX::Issuer);
|
|
FIELD_SET(*this, FIX::EncodedIssuerLen);
|
|
FIELD_SET(*this, FIX::EncodedIssuer);
|
|
FIELD_SET(*this, FIX::SecurityDesc);
|
|
FIELD_SET(*this, FIX::EncodedSecurityDescLen);
|
|
FIELD_SET(*this, FIX::EncodedSecurityDesc);
|
|
FIELD_SET(*this, FIX::Side);
|
|
FIELD_SET(*this, FIX::OrderQty);
|
|
FIELD_SET(*this, FIX::CashOrderQty);
|
|
FIELD_SET(*this, FIX::OrdType);
|
|
FIELD_SET(*this, FIX::Price);
|
|
FIELD_SET(*this, FIX::StopPx);
|
|
FIELD_SET(*this, FIX::PegDifference);
|
|
FIELD_SET(*this, FIX::DiscretionInst);
|
|
FIELD_SET(*this, FIX::DiscretionOffset);
|
|
FIELD_SET(*this, FIX::Currency);
|
|
FIELD_SET(*this, FIX::ComplianceID);
|
|
FIELD_SET(*this, FIX::SolicitedFlag);
|
|
FIELD_SET(*this, FIX::TimeInForce);
|
|
FIELD_SET(*this, FIX::EffectiveTime);
|
|
FIELD_SET(*this, FIX::ExpireDate);
|
|
FIELD_SET(*this, FIX::ExpireTime);
|
|
FIELD_SET(*this, FIX::ExecInst);
|
|
FIELD_SET(*this, FIX::Rule80A);
|
|
FIELD_SET(*this, FIX::LastShares);
|
|
FIELD_SET(*this, FIX::LastPx);
|
|
FIELD_SET(*this, FIX::LastSpotRate);
|
|
FIELD_SET(*this, FIX::LastForwardPoints);
|
|
FIELD_SET(*this, FIX::LastMkt);
|
|
FIELD_SET(*this, FIX::TradingSessionID);
|
|
FIELD_SET(*this, FIX::LastCapacity);
|
|
FIELD_SET(*this, FIX::LeavesQty);
|
|
FIELD_SET(*this, FIX::CumQty);
|
|
FIELD_SET(*this, FIX::AvgPx);
|
|
FIELD_SET(*this, FIX::DayOrderQty);
|
|
FIELD_SET(*this, FIX::DayCumQty);
|
|
FIELD_SET(*this, FIX::DayAvgPx);
|
|
FIELD_SET(*this, FIX::GTBookingInst);
|
|
FIELD_SET(*this, FIX::TradeDate);
|
|
FIELD_SET(*this, FIX::TransactTime);
|
|
FIELD_SET(*this, FIX::ReportToExch);
|
|
FIELD_SET(*this, FIX::Commission);
|
|
FIELD_SET(*this, FIX::CommType);
|
|
FIELD_SET(*this, FIX::GrossTradeAmt);
|
|
FIELD_SET(*this, FIX::SettlCurrAmt);
|
|
FIELD_SET(*this, FIX::SettlCurrency);
|
|
FIELD_SET(*this, FIX::SettlCurrFxRate);
|
|
FIELD_SET(*this, FIX::SettlCurrFxRateCalc);
|
|
FIELD_SET(*this, FIX::HandlInst);
|
|
FIELD_SET(*this, FIX::MinQty);
|
|
FIELD_SET(*this, FIX::MaxFloor);
|
|
FIELD_SET(*this, FIX::OpenClose);
|
|
FIELD_SET(*this, FIX::MaxShow);
|
|
FIELD_SET(*this, FIX::Text);
|
|
FIELD_SET(*this, FIX::EncodedTextLen);
|
|
FIELD_SET(*this, FIX::EncodedText);
|
|
FIELD_SET(*this, FIX::FutSettDate2);
|
|
FIELD_SET(*this, FIX::OrderQty2);
|
|
FIELD_SET(*this, FIX::ClearingFirm);
|
|
FIELD_SET(*this, FIX::ClearingAccount);
|
|
FIELD_SET(*this, FIX::MultiLegReportingType);
|
|
FIELD_SET(*this, FIX::NoContraBrokers);
|
|
class NoContraBrokers: public FIX::Group
|
|
{
|
|
public:
|
|
NoContraBrokers() : FIX::Group(382,375,FIX::message_order(375,337,437,438,0)) {}
|
|
FIELD_SET(*this, FIX::ContraBroker);
|
|
FIELD_SET(*this, FIX::ContraTrader);
|
|
FIELD_SET(*this, FIX::ContraTradeQty);
|
|
FIELD_SET(*this, FIX::ContraTradeTime);
|
|
};
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|