BidRequest.h 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #ifndef FIX44_BIDREQUEST_H
  2. #define FIX44_BIDREQUEST_H
  3. #include "Message.h"
  4. namespace FIX44
  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::TotNoRelatedSym& aTotNoRelatedSym,
  18. const FIX::BidType& aBidType,
  19. const FIX::BidTradeType& aBidTradeType,
  20. const FIX::BasisPxType& aBasisPxType )
  21. : Message(MsgType())
  22. {
  23. set(aClientBidID);
  24. set(aBidRequestTransType);
  25. set(aTotNoRelatedSym);
  26. set(aBidType);
  27. set(aBidTradeType);
  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::TotNoRelatedSym);
  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::NoBidDescriptors);
  41. class NoBidDescriptors: public FIX::Group
  42. {
  43. public:
  44. NoBidDescriptors() : FIX::Group(398,399,FIX::message_order(399,400,401,404,441,402,403,405,406,407,408,0)) {}
  45. FIELD_SET(*this, FIX::BidDescriptorType);
  46. FIELD_SET(*this, FIX::BidDescriptor);
  47. FIELD_SET(*this, FIX::SideValueInd);
  48. FIELD_SET(*this, FIX::LiquidityValue);
  49. FIELD_SET(*this, FIX::LiquidityNumSecurities);
  50. FIELD_SET(*this, FIX::LiquidityPctLow);
  51. FIELD_SET(*this, FIX::LiquidityPctHigh);
  52. FIELD_SET(*this, FIX::EFPTrackingError);
  53. FIELD_SET(*this, FIX::FairValue);
  54. FIELD_SET(*this, FIX::OutsideIndexPct);
  55. FIELD_SET(*this, FIX::ValueOfFutures);
  56. };
  57. FIELD_SET(*this, FIX::NoBidComponents);
  58. class NoBidComponents: public FIX::Group
  59. {
  60. public:
  61. NoBidComponents() : FIX::Group(420,66,FIX::message_order(66,54,336,625,430,63,64,1,660,0)) {}
  62. FIELD_SET(*this, FIX::ListID);
  63. FIELD_SET(*this, FIX::Side);
  64. FIELD_SET(*this, FIX::TradingSessionID);
  65. FIELD_SET(*this, FIX::TradingSessionSubID);
  66. FIELD_SET(*this, FIX::NetGrossInd);
  67. FIELD_SET(*this, FIX::SettlType);
  68. FIELD_SET(*this, FIX::SettlDate);
  69. FIELD_SET(*this, FIX::Account);
  70. FIELD_SET(*this, FIX::AcctIDSource);
  71. };
  72. FIELD_SET(*this, FIX::LiquidityIndType);
  73. FIELD_SET(*this, FIX::WtAverageLiquidity);
  74. FIELD_SET(*this, FIX::ExchangeForPhysical);
  75. FIELD_SET(*this, FIX::OutMainCntryUIndex);
  76. FIELD_SET(*this, FIX::CrossPercent);
  77. FIELD_SET(*this, FIX::ProgRptReqs);
  78. FIELD_SET(*this, FIX::ProgPeriodInterval);
  79. FIELD_SET(*this, FIX::IncTaxInd);
  80. FIELD_SET(*this, FIX::ForexReq);
  81. FIELD_SET(*this, FIX::NumBidders);
  82. FIELD_SET(*this, FIX::TradeDate);
  83. FIELD_SET(*this, FIX::BidTradeType);
  84. FIELD_SET(*this, FIX::BasisPxType);
  85. FIELD_SET(*this, FIX::StrikeTime);
  86. FIELD_SET(*this, FIX::Text);
  87. FIELD_SET(*this, FIX::EncodedTextLen);
  88. FIELD_SET(*this, FIX::EncodedText);
  89. };
  90. }
  91. #endif