TradeCaptureReport.h 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. #ifndef FIX43_TRADECAPTUREREPORT_H
  2. #define FIX43_TRADECAPTUREREPORT_H
  3. #include "Message.h"
  4. namespace FIX43
  5. {
  6. class TradeCaptureReport : public Message
  7. {
  8. public:
  9. TradeCaptureReport() : Message(MsgType()) {}
  10. TradeCaptureReport(const FIX::Message& m) : Message(m) {}
  11. TradeCaptureReport(const Message& m) : Message(m) {}
  12. TradeCaptureReport(const TradeCaptureReport& m) : Message(m) {}
  13. static FIX::MsgType MsgType() { return FIX::MsgType("AE"); }
  14. TradeCaptureReport(
  15. const FIX::TradeReportID& aTradeReportID,
  16. const FIX::ExecType& aExecType,
  17. const FIX::PreviouslyReported& aPreviouslyReported,
  18. const FIX::LastQty& aLastQty,
  19. const FIX::LastPx& aLastPx,
  20. const FIX::TradeDate& aTradeDate,
  21. const FIX::TransactTime& aTransactTime )
  22. : Message(MsgType())
  23. {
  24. set(aTradeReportID);
  25. set(aExecType);
  26. set(aPreviouslyReported);
  27. set(aLastQty);
  28. set(aLastPx);
  29. set(aTradeDate);
  30. set(aTransactTime);
  31. }
  32. FIELD_SET(*this, FIX::TradeReportID);
  33. FIELD_SET(*this, FIX::TradeReportTransType);
  34. FIELD_SET(*this, FIX::TradeRequestID);
  35. FIELD_SET(*this, FIX::ExecType);
  36. FIELD_SET(*this, FIX::TradeReportRefID);
  37. FIELD_SET(*this, FIX::ExecID);
  38. FIELD_SET(*this, FIX::SecondaryExecID);
  39. FIELD_SET(*this, FIX::ExecRestatementReason);
  40. FIELD_SET(*this, FIX::PreviouslyReported);
  41. FIELD_SET(*this, FIX::Symbol);
  42. FIELD_SET(*this, FIX::SymbolSfx);
  43. FIELD_SET(*this, FIX::SecurityID);
  44. FIELD_SET(*this, FIX::SecurityIDSource);
  45. FIELD_SET(*this, FIX::Product);
  46. FIELD_SET(*this, FIX::CFICode);
  47. FIELD_SET(*this, FIX::SecurityType);
  48. FIELD_SET(*this, FIX::MaturityMonthYear);
  49. FIELD_SET(*this, FIX::MaturityDate);
  50. FIELD_SET(*this, FIX::CouponPaymentDate);
  51. FIELD_SET(*this, FIX::IssueDate);
  52. FIELD_SET(*this, FIX::RepoCollateralSecurityType);
  53. FIELD_SET(*this, FIX::RepurchaseTerm);
  54. FIELD_SET(*this, FIX::RepurchaseRate);
  55. FIELD_SET(*this, FIX::Factor);
  56. FIELD_SET(*this, FIX::CreditRating);
  57. FIELD_SET(*this, FIX::InstrRegistry);
  58. FIELD_SET(*this, FIX::CountryOfIssue);
  59. FIELD_SET(*this, FIX::StateOrProvinceOfIssue);
  60. FIELD_SET(*this, FIX::LocaleOfIssue);
  61. FIELD_SET(*this, FIX::RedemptionDate);
  62. FIELD_SET(*this, FIX::StrikePrice);
  63. FIELD_SET(*this, FIX::OptAttribute);
  64. FIELD_SET(*this, FIX::ContractMultiplier);
  65. FIELD_SET(*this, FIX::CouponRate);
  66. FIELD_SET(*this, FIX::SecurityExchange);
  67. FIELD_SET(*this, FIX::Issuer);
  68. FIELD_SET(*this, FIX::EncodedIssuerLen);
  69. FIELD_SET(*this, FIX::EncodedIssuer);
  70. FIELD_SET(*this, FIX::SecurityDesc);
  71. FIELD_SET(*this, FIX::EncodedSecurityDescLen);
  72. FIELD_SET(*this, FIX::EncodedSecurityDesc);
  73. FIELD_SET(*this, FIX::NoSecurityAltID);
  74. class NoSecurityAltID: public FIX::Group
  75. {
  76. public:
  77. NoSecurityAltID() : FIX::Group(454,455,FIX::message_order(455,456,0)) {}
  78. FIELD_SET(*this, FIX::SecurityAltID);
  79. FIELD_SET(*this, FIX::SecurityAltIDSource);
  80. };
  81. FIELD_SET(*this, FIX::OrderQty);
  82. FIELD_SET(*this, FIX::CashOrderQty);
  83. FIELD_SET(*this, FIX::OrderPercent);
  84. FIELD_SET(*this, FIX::RoundingDirection);
  85. FIELD_SET(*this, FIX::RoundingModulus);
  86. FIELD_SET(*this, FIX::LastQty);
  87. FIELD_SET(*this, FIX::LastPx);
  88. FIELD_SET(*this, FIX::LastSpotRate);
  89. FIELD_SET(*this, FIX::LastForwardPoints);
  90. FIELD_SET(*this, FIX::LastMkt);
  91. FIELD_SET(*this, FIX::TradeDate);
  92. FIELD_SET(*this, FIX::TransactTime);
  93. FIELD_SET(*this, FIX::SettlmntTyp);
  94. FIELD_SET(*this, FIX::FutSettDate);
  95. FIELD_SET(*this, FIX::MatchStatus);
  96. FIELD_SET(*this, FIX::MatchType);
  97. FIELD_SET(*this, FIX::NoSides);
  98. class NoSides: public FIX::Group
  99. {
  100. public:
  101. NoSides() : FIX::Group(552,54,FIX::message_order(54,37,198,11,453,1,581,81,575,576,635,578,579,15,376,377,528,529,582,483,336,625,12,13,479,497,381,157,230,158,159,238,237,118,119,120,155,156,77,58,354,355,442,518,136,0)) {}
  102. FIELD_SET(*this, FIX::Side);
  103. FIELD_SET(*this, FIX::OrderID);
  104. FIELD_SET(*this, FIX::SecondaryOrderID);
  105. FIELD_SET(*this, FIX::ClOrdID);
  106. FIELD_SET(*this, FIX::NoPartyIDs);
  107. class NoPartyIDs: public FIX::Group
  108. {
  109. public:
  110. NoPartyIDs() : FIX::Group(453,448,FIX::message_order(448,447,452,523,0)) {}
  111. FIELD_SET(*this, FIX::PartyID);
  112. FIELD_SET(*this, FIX::PartyIDSource);
  113. FIELD_SET(*this, FIX::PartyRole);
  114. FIELD_SET(*this, FIX::PartySubID);
  115. };
  116. FIELD_SET(*this, FIX::Account);
  117. FIELD_SET(*this, FIX::AccountType);
  118. FIELD_SET(*this, FIX::ProcessCode);
  119. FIELD_SET(*this, FIX::OddLot);
  120. FIELD_SET(*this, FIX::ClearingFeeIndicator);
  121. FIELD_SET(*this, FIX::TradeInputSource);
  122. FIELD_SET(*this, FIX::TradeInputDevice);
  123. FIELD_SET(*this, FIX::Currency);
  124. FIELD_SET(*this, FIX::ComplianceID);
  125. FIELD_SET(*this, FIX::SolicitedFlag);
  126. FIELD_SET(*this, FIX::OrderCapacity);
  127. FIELD_SET(*this, FIX::OrderRestrictions);
  128. FIELD_SET(*this, FIX::CustOrderCapacity);
  129. FIELD_SET(*this, FIX::TransBkdTime);
  130. FIELD_SET(*this, FIX::TradingSessionID);
  131. FIELD_SET(*this, FIX::TradingSessionSubID);
  132. FIELD_SET(*this, FIX::Commission);
  133. FIELD_SET(*this, FIX::CommType);
  134. FIELD_SET(*this, FIX::CommCurrency);
  135. FIELD_SET(*this, FIX::FundRenewWaiv);
  136. FIELD_SET(*this, FIX::GrossTradeAmt);
  137. FIELD_SET(*this, FIX::NumDaysInterest);
  138. FIELD_SET(*this, FIX::ExDate);
  139. FIELD_SET(*this, FIX::AccruedInterestRate);
  140. FIELD_SET(*this, FIX::AccruedInterestAmt);
  141. FIELD_SET(*this, FIX::Concession);
  142. FIELD_SET(*this, FIX::TotalTakedown);
  143. FIELD_SET(*this, FIX::NetMoney);
  144. FIELD_SET(*this, FIX::SettlCurrAmt);
  145. FIELD_SET(*this, FIX::SettlCurrency);
  146. FIELD_SET(*this, FIX::SettlCurrFxRate);
  147. FIELD_SET(*this, FIX::SettlCurrFxRateCalc);
  148. FIELD_SET(*this, FIX::PositionEffect);
  149. FIELD_SET(*this, FIX::Text);
  150. FIELD_SET(*this, FIX::EncodedTextLen);
  151. FIELD_SET(*this, FIX::EncodedText);
  152. FIELD_SET(*this, FIX::MultiLegReportingType);
  153. FIELD_SET(*this, FIX::NoClearingInstructions);
  154. class NoClearingInstructions: public FIX::Group
  155. {
  156. public:
  157. NoClearingInstructions() : FIX::Group(576,577,FIX::message_order(577,0)) {}
  158. FIELD_SET(*this, FIX::ClearingInstruction);
  159. };
  160. FIELD_SET(*this, FIX::NoContAmts);
  161. class NoContAmts: public FIX::Group
  162. {
  163. public:
  164. NoContAmts() : FIX::Group(518,519,FIX::message_order(519,520,521,0)) {}
  165. FIELD_SET(*this, FIX::ContAmtType);
  166. FIELD_SET(*this, FIX::ContAmtValue);
  167. FIELD_SET(*this, FIX::ContAmtCurr);
  168. };
  169. FIELD_SET(*this, FIX::NoMiscFees);
  170. class NoMiscFees: public FIX::Group
  171. {
  172. public:
  173. NoMiscFees() : FIX::Group(136,137,FIX::message_order(137,138,139,0)) {}
  174. FIELD_SET(*this, FIX::MiscFeeAmt);
  175. FIELD_SET(*this, FIX::MiscFeeCurr);
  176. FIELD_SET(*this, FIX::MiscFeeType);
  177. };
  178. };
  179. };
  180. }
  181. #endif