BidRequest.h 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #ifndef FIX43_BIDREQUEST_H
  2. #define FIX43_BIDREQUEST_H
  3. #include "Message.h"
  4. namespace FIX43
  5. {
  6. class BidRequest : public Message
  7. {
  8. public:
  9. BidRequest() : Message(MsgType()) {}
  10. BidRequest(const FIX::Message& m) : Message(m) {}
  11. BidRequest(const Message& m) : Message(m) {}
  12. BidRequest(const BidRequest& m) : Message(m) {}
  13. static FIX::MsgType MsgType() { return FIX::MsgType("k"); }
  14. BidRequest(
  15. const FIX::ClientBidID& aClientBidID,
  16. const FIX::BidRequestTransType& aBidRequestTransType,
  17. const FIX::TotalNumSecurities& aTotalNumSecurities,
  18. const FIX::BidType& aBidType,
  19. const FIX::TradeType& aTradeType,
  20. const FIX::BasisPxType& aBasisPxType )
  21. : Message(MsgType())
  22. {
  23. set(aClientBidID);
  24. set(aBidRequestTransType);
  25. set(aTotalNumSecurities);
  26. set(aBidType);
  27. set(aTradeType);
  28. set(aBasisPxType);
  29. }
  30. FIELD_SET(*this, FIX::BidID);
  31. FIELD_SET(*this, FIX::ClientBidID);
  32. FIELD_SET(*this, FIX::BidRequestTransType);
  33. FIELD_SET(*this, FIX::ListName);
  34. FIELD_SET(*this, FIX::TotalNumSecurities);
  35. FIELD_SET(*this, FIX::BidType);
  36. FIELD_SET(*this, FIX::NumTickets);
  37. FIELD_SET(*this, FIX::Currency);
  38. FIELD_SET(*this, FIX::SideValue1);
  39. FIELD_SET(*this, FIX::SideValue2);
  40. FIELD_SET(*this, FIX::LiquidityIndType);
  41. FIELD_SET(*this, FIX::WtAverageLiquidity);
  42. FIELD_SET(*this, FIX::ExchangeForPhysical);
  43. FIELD_SET(*this, FIX::OutMainCntryUIndex);
  44. FIELD_SET(*this, FIX::CrossPercent);
  45. FIELD_SET(*this, FIX::ProgRptReqs);
  46. FIELD_SET(*this, FIX::ProgPeriodInterval);
  47. FIELD_SET(*this, FIX::IncTaxInd);
  48. FIELD_SET(*this, FIX::ForexReq);
  49. FIELD_SET(*this, FIX::NumBidders);
  50. FIELD_SET(*this, FIX::TradeDate);
  51. FIELD_SET(*this, FIX::TradeType);
  52. FIELD_SET(*this, FIX::BasisPxType);
  53. FIELD_SET(*this, FIX::StrikeTime);
  54. FIELD_SET(*this, FIX::Text);
  55. FIELD_SET(*this, FIX::EncodedTextLen);
  56. FIELD_SET(*this, FIX::EncodedText);
  57. FIELD_SET(*this, FIX::NoBidDescriptors);
  58. class NoBidDescriptors: public FIX::Group
  59. {
  60. public:
  61. NoBidDescriptors() : FIX::Group(398,399,FIX::message_order(399,400,401,404,441,402,403,405,406,407,408,0)) {}
  62. FIELD_SET(*this, FIX::BidDescriptorType);
  63. FIELD_SET(*this, FIX::BidDescriptor);
  64. FIELD_SET(*this, FIX::SideValueInd);
  65. FIELD_SET(*this, FIX::LiquidityValue);
  66. FIELD_SET(*this, FIX::LiquidityNumSecurities);
  67. FIELD_SET(*this, FIX::LiquidityPctLow);
  68. FIELD_SET(*this, FIX::LiquidityPctHigh);
  69. FIELD_SET(*this, FIX::EFPTrackingError);
  70. FIELD_SET(*this, FIX::FairValue);
  71. FIELD_SET(*this, FIX::OutsideIndexPct);
  72. FIELD_SET(*this, FIX::ValueOfFutures);
  73. };
  74. FIELD_SET(*this, FIX::NoBidComponents);
  75. class NoBidComponents: public FIX::Group
  76. {
  77. public:
  78. NoBidComponents() : FIX::Group(420,66,FIX::message_order(66,54,336,625,430,63,64,1,0)) {}
  79. FIELD_SET(*this, FIX::ListID);
  80. FIELD_SET(*this, FIX::Side);
  81. FIELD_SET(*this, FIX::TradingSessionID);
  82. FIELD_SET(*this, FIX::TradingSessionSubID);
  83. FIELD_SET(*this, FIX::NetGrossInd);
  84. FIELD_SET(*this, FIX::SettlmntTyp);
  85. FIELD_SET(*this, FIX::FutSettDate);
  86. FIELD_SET(*this, FIX::Account);
  87. };
  88. };
  89. }
  90. #endif