Files
2017-10-15 17:59:31 -04:00

103 lines
3.0 KiB
C++

#ifndef FIX40_EXECUTIONREPORT_H
#define FIX40_EXECUTIONREPORT_H
#include "Message.h"
namespace FIX40
{
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::OrdStatus& aOrdStatus,
const FIX::Symbol& aSymbol,
const FIX::Side& aSide,
const FIX::OrderQty& aOrderQty,
const FIX::LastShares& aLastShares,
const FIX::LastPx& aLastPx,
const FIX::CumQty& aCumQty,
const FIX::AvgPx& aAvgPx )
: Message(MsgType())
{
set(aOrderID);
set(aExecID);
set(aExecTransType);
set(aOrdStatus);
set(aSymbol);
set(aSide);
set(aOrderQty);
set(aLastShares);
set(aLastPx);
set(aCumQty);
set(aAvgPx);
}
FIELD_SET(*this, FIX::OrderID);
FIELD_SET(*this, FIX::ClOrdID);
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::OrdStatus);
FIELD_SET(*this, FIX::OrdRejReason);
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::Issuer);
FIELD_SET(*this, FIX::SecurityDesc);
FIELD_SET(*this, FIX::Side);
FIELD_SET(*this, FIX::OrderQty);
FIELD_SET(*this, FIX::OrdType);
FIELD_SET(*this, FIX::Price);
FIELD_SET(*this, FIX::StopPx);
FIELD_SET(*this, FIX::Currency);
FIELD_SET(*this, FIX::TimeInForce);
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::LastMkt);
FIELD_SET(*this, FIX::LastCapacity);
FIELD_SET(*this, FIX::CumQty);
FIELD_SET(*this, FIX::AvgPx);
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::NetMoney);
FIELD_SET(*this, FIX::SettlCurrAmt);
FIELD_SET(*this, FIX::SettlCurrency);
FIELD_SET(*this, FIX::Text);
FIELD_SET(*this, FIX::NoMiscFees);
class NoMiscFees: public FIX::Group
{
public:
NoMiscFees() : FIX::Group(136,137,FIX::message_order(137,138,139,0)) {}
FIELD_SET(*this, FIX::MiscFeeAmt);
FIELD_SET(*this, FIX::MiscFeeCurr);
FIELD_SET(*this, FIX::MiscFeeType);
};
};
}
#endif