OnixS C++ Eurex T7 Market and Reference Data (EMDI, MDI, RDI, EOBI) Handlers  12.1.2
API documentation
Settlement.h
Go to the documentation of this file.
1 /*
2 * Copyright Onix Solutions Limited [OnixS]. All rights reserved.
3 *
4 * This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
5 * and international copyright treaties.
6 *
7 * Access to and use of the software is governed by the terms of the applicable OnixS Software
8 * Services Agreement (the Agreement) and Customer end user license agreements granting
9 * a non-assignable, non-transferable and non-exclusive license to use the software
10 * for it's own data processing purposes under the terms defined in the Agreement.
11 *
12 * Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
13 * of this source code or associated reference material to any other location for further reproduction
14 * or redistribution, and any amendments to this copyright notice, are expressly prohibited.
15 *
16 * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
17 * the terms of the Agreement is a violation of copyright law.
18 */
19 
20 #pragma once
21 
28 
29 namespace OnixS
30 {
31  namespace Eurex
32  {
33  namespace MarketData
34  {
35  /// Exposes list of available settlement supplements
36  struct ONIXS_EUREX_EMDI_API SettlPriceType
37  {
38  enum Enum
39  {
40  /// Used to identify absence of value.
41  Undefined = -1,
42 
43  ///
44  Final = 0,
45 
46  ///
47  Theoretical = 1,
48  };
49  };
50 
51 
52  /// Settlement
53  class ONIXS_EUREX_EMDI_API Settlement : public Message
54  {
55  public:
56  /// Instrument ID from Eurex Exchange�s new trading architecture
58  {
59  return getInt64 (Tags::SecurityID);
60  }
61 
62  /// Product ID from Eurex Exchange�s new trading architecture
64  {
65  return getUInt32 (Tags::MarketSegmentID);
66  }
67 
68  /// Intraday Settlement Price
70  {
71  return getGroup (Tags::NoMDEntries).at (0).getDecimal (Tags::MDEntryPx);
72  }
73 
74  /// Settlement Price in trading notation (only for Variance Futures)
75  bool mdSecPx (Decimal& price) const
76  {
77  return getGroup (Tags::NoMDEntries).at (0).get (Tags::MDSecPx).toNumber (price);
78  }
79 
80  /// Settlement Supplement
82  {
83  return getIntEnumFieldValue<SettlPriceType>(getGroup(Tags::NoMDEntries).at(0), Tags::SettlPriceType);
84  }
85 
86  /// Time of entry (nanoseconds)
87  UInt64 mdEntryTime() const
88  {
89  return getGroup (Tags::NoMDEntries).at (0).getUInt64 (Tags::MDEntryTime);
90  }
91 
92  private:
93  friend class SettlementWrapper;
94 
95  Settlement (const void* impl)
96  : Message (impl)
97  {
98  }
99  };
100  }
101  }
102 }
Definition: Defines.h:30
Decimal type for better precision.
Definition: Numeric.h:63
Decimal mdEntryPx() const
Intraday Settlement Price.
Definition: Settlement.h:69
SecurityId securityId() const
Instrument ID from Eurex Exchange�s new trading architecture.
Definition: Settlement.h:57
Int64 SecurityId
Alias for Security Id type.
Definition: Defines.h:51
UInt64 mdEntryTime() const
Time of entry (nanoseconds)
Definition: Settlement.h:87
SettlPriceType::Enum settlPriceType() const
Settlement Supplement.
Definition: Settlement.h:81
Exposes list of available settlement supplements.
Definition: Settlement.h:36
UInt32 MarketSegmentId
Alias for Market Segment ID type.
Definition: Defines.h:40
bool mdSecPx(Decimal &price) const
Settlement Price in trading notation (only for Variance Futures)
Definition: Settlement.h:75
MarketSegmentId marketSegmentId() const
Product ID from Eurex Exchange�s new trading architecture.
Definition: Settlement.h:63