MassQuote.h 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. #ifndef FIX43_MASSQUOTE_H
  2. #define FIX43_MASSQUOTE_H
  3. #include "Message.h"
  4. namespace FIX43
  5. {
  6. class MassQuote : public Message
  7. {
  8. public:
  9. MassQuote() : Message(MsgType()) {}
  10. MassQuote(const FIX::Message& m) : Message(m) {}
  11. MassQuote(const Message& m) : Message(m) {}
  12. MassQuote(const MassQuote& m) : Message(m) {}
  13. static FIX::MsgType MsgType() { return FIX::MsgType("i"); }
  14. MassQuote(
  15. const FIX::QuoteID& aQuoteID )
  16. : Message(MsgType())
  17. {
  18. set(aQuoteID);
  19. }
  20. FIELD_SET(*this, FIX::QuoteReqID);
  21. FIELD_SET(*this, FIX::QuoteID);
  22. FIELD_SET(*this, FIX::QuoteType);
  23. FIELD_SET(*this, FIX::QuoteResponseLevel);
  24. FIELD_SET(*this, FIX::NoPartyIDs);
  25. class NoPartyIDs: public FIX::Group
  26. {
  27. public:
  28. NoPartyIDs() : FIX::Group(453,448,FIX::message_order(448,447,452,523,0)) {}
  29. FIELD_SET(*this, FIX::PartyID);
  30. FIELD_SET(*this, FIX::PartyIDSource);
  31. FIELD_SET(*this, FIX::PartyRole);
  32. FIELD_SET(*this, FIX::PartySubID);
  33. };
  34. FIELD_SET(*this, FIX::Account);
  35. FIELD_SET(*this, FIX::AccountType);
  36. FIELD_SET(*this, FIX::DefBidSize);
  37. FIELD_SET(*this, FIX::DefOfferSize);
  38. FIELD_SET(*this, FIX::NoQuoteSets);
  39. class NoQuoteSets: public FIX::Group
  40. {
  41. public:
  42. NoQuoteSets() : FIX::Group(296,302,FIX::message_order(302,311,312,309,305,457,462,463,310,313,542,315,241,242,243,244,245,246,256,595,592,593,594,247,316,317,436,435,308,306,362,363,307,364,365,367,304,295,0)) {}
  43. FIELD_SET(*this, FIX::QuoteSetID);
  44. FIELD_SET(*this, FIX::UnderlyingSymbol);
  45. FIELD_SET(*this, FIX::UnderlyingSymbolSfx);
  46. FIELD_SET(*this, FIX::UnderlyingSecurityID);
  47. FIELD_SET(*this, FIX::UnderlyingSecurityIDSource);
  48. FIELD_SET(*this, FIX::UnderlyingProduct);
  49. FIELD_SET(*this, FIX::UnderlyingCFICode);
  50. FIELD_SET(*this, FIX::UnderlyingSecurityType);
  51. FIELD_SET(*this, FIX::UnderlyingMaturityMonthYear);
  52. FIELD_SET(*this, FIX::UnderlyingMaturityDate);
  53. FIELD_SET(*this, FIX::UnderlyingPutOrCall);
  54. FIELD_SET(*this, FIX::UnderlyingCouponPaymentDate);
  55. FIELD_SET(*this, FIX::UnderlyingIssueDate);
  56. FIELD_SET(*this, FIX::UnderlyingRepoCollateralSecurityType);
  57. FIELD_SET(*this, FIX::UnderlyingRepurchaseTerm);
  58. FIELD_SET(*this, FIX::UnderlyingRepurchaseRate);
  59. FIELD_SET(*this, FIX::UnderlyingFactor);
  60. FIELD_SET(*this, FIX::UnderlyingCreditRating);
  61. FIELD_SET(*this, FIX::UnderlyingInstrRegistry);
  62. FIELD_SET(*this, FIX::UnderlyingCountryOfIssue);
  63. FIELD_SET(*this, FIX::UnderlyingStateOrProvinceOfIssue);
  64. FIELD_SET(*this, FIX::UnderlyingLocaleOfIssue);
  65. FIELD_SET(*this, FIX::UnderlyingRedemptionDate);
  66. FIELD_SET(*this, FIX::UnderlyingStrikePrice);
  67. FIELD_SET(*this, FIX::UnderlyingOptAttribute);
  68. FIELD_SET(*this, FIX::UnderlyingContractMultiplier);
  69. FIELD_SET(*this, FIX::UnderlyingCouponRate);
  70. FIELD_SET(*this, FIX::UnderlyingSecurityExchange);
  71. FIELD_SET(*this, FIX::UnderlyingIssuer);
  72. FIELD_SET(*this, FIX::EncodedUnderlyingIssuerLen);
  73. FIELD_SET(*this, FIX::EncodedUnderlyingIssuer);
  74. FIELD_SET(*this, FIX::UnderlyingSecurityDesc);
  75. FIELD_SET(*this, FIX::EncodedUnderlyingSecurityDescLen);
  76. FIELD_SET(*this, FIX::EncodedUnderlyingSecurityDesc);
  77. FIELD_SET(*this, FIX::NoUnderlyingSecurityAltID);
  78. class NoUnderlyingSecurityAltID: public FIX::Group
  79. {
  80. public:
  81. NoUnderlyingSecurityAltID() : FIX::Group(457,458,FIX::message_order(458,459,0)) {}
  82. FIELD_SET(*this, FIX::UnderlyingSecurityAltID);
  83. FIELD_SET(*this, FIX::UnderlyingSecurityAltIDSource);
  84. };
  85. FIELD_SET(*this, FIX::QuoteSetValidUntilTime);
  86. FIELD_SET(*this, FIX::TotQuoteEntries);
  87. FIELD_SET(*this, FIX::NoQuoteEntries);
  88. class NoQuoteEntries: public FIX::Group
  89. {
  90. public:
  91. NoQuoteEntries() : FIX::Group(295,299,FIX::message_order(299,55,65,48,22,454,460,461,167,200,541,224,225,239,226,227,228,255,543,470,471,472,240,202,206,231,223,207,106,348,349,107,350,351,132,133,134,135,62,188,190,189,191,631,632,633,634,60,336,625,64,40,193,192,642,643,15,0)) {}
  92. FIELD_SET(*this, FIX::QuoteEntryID);
  93. FIELD_SET(*this, FIX::Symbol);
  94. FIELD_SET(*this, FIX::SymbolSfx);
  95. FIELD_SET(*this, FIX::SecurityID);
  96. FIELD_SET(*this, FIX::SecurityIDSource);
  97. FIELD_SET(*this, FIX::Product);
  98. FIELD_SET(*this, FIX::CFICode);
  99. FIELD_SET(*this, FIX::SecurityType);
  100. FIELD_SET(*this, FIX::MaturityMonthYear);
  101. FIELD_SET(*this, FIX::MaturityDate);
  102. FIELD_SET(*this, FIX::CouponPaymentDate);
  103. FIELD_SET(*this, FIX::IssueDate);
  104. FIELD_SET(*this, FIX::RepoCollateralSecurityType);
  105. FIELD_SET(*this, FIX::RepurchaseTerm);
  106. FIELD_SET(*this, FIX::RepurchaseRate);
  107. FIELD_SET(*this, FIX::Factor);
  108. FIELD_SET(*this, FIX::CreditRating);
  109. FIELD_SET(*this, FIX::InstrRegistry);
  110. FIELD_SET(*this, FIX::CountryOfIssue);
  111. FIELD_SET(*this, FIX::StateOrProvinceOfIssue);
  112. FIELD_SET(*this, FIX::LocaleOfIssue);
  113. FIELD_SET(*this, FIX::RedemptionDate);
  114. FIELD_SET(*this, FIX::StrikePrice);
  115. FIELD_SET(*this, FIX::OptAttribute);
  116. FIELD_SET(*this, FIX::ContractMultiplier);
  117. FIELD_SET(*this, FIX::CouponRate);
  118. FIELD_SET(*this, FIX::SecurityExchange);
  119. FIELD_SET(*this, FIX::Issuer);
  120. FIELD_SET(*this, FIX::EncodedIssuerLen);
  121. FIELD_SET(*this, FIX::EncodedIssuer);
  122. FIELD_SET(*this, FIX::SecurityDesc);
  123. FIELD_SET(*this, FIX::EncodedSecurityDescLen);
  124. FIELD_SET(*this, FIX::EncodedSecurityDesc);
  125. FIELD_SET(*this, FIX::NoSecurityAltID);
  126. class NoSecurityAltID: public FIX::Group
  127. {
  128. public:
  129. NoSecurityAltID() : FIX::Group(454,455,FIX::message_order(455,456,0)) {}
  130. FIELD_SET(*this, FIX::SecurityAltID);
  131. FIELD_SET(*this, FIX::SecurityAltIDSource);
  132. };
  133. FIELD_SET(*this, FIX::BidPx);
  134. FIELD_SET(*this, FIX::OfferPx);
  135. FIELD_SET(*this, FIX::BidSize);
  136. FIELD_SET(*this, FIX::OfferSize);
  137. FIELD_SET(*this, FIX::ValidUntilTime);
  138. FIELD_SET(*this, FIX::BidSpotRate);
  139. FIELD_SET(*this, FIX::OfferSpotRate);
  140. FIELD_SET(*this, FIX::BidForwardPoints);
  141. FIELD_SET(*this, FIX::OfferForwardPoints);
  142. FIELD_SET(*this, FIX::MidPx);
  143. FIELD_SET(*this, FIX::BidYield);
  144. FIELD_SET(*this, FIX::MidYield);
  145. FIELD_SET(*this, FIX::OfferYield);
  146. FIELD_SET(*this, FIX::TransactTime);
  147. FIELD_SET(*this, FIX::TradingSessionID);
  148. FIELD_SET(*this, FIX::TradingSessionSubID);
  149. FIELD_SET(*this, FIX::FutSettDate);
  150. FIELD_SET(*this, FIX::OrdType);
  151. FIELD_SET(*this, FIX::FutSettDate2);
  152. FIELD_SET(*this, FIX::OrderQty2);
  153. FIELD_SET(*this, FIX::BidForwardPoints2);
  154. FIELD_SET(*this, FIX::OfferForwardPoints2);
  155. FIELD_SET(*this, FIX::Currency);
  156. };
  157. };
  158. };
  159. }
  160. #endif