OnixS C++ Eurex T7 Market and Reference Data (EMDI, MDI, RDI, EOBI) Handlers 20.0.1
Users' manual and API documentation
Loading...
Searching...
No Matches
AddComplexInstrument.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
27
28namespace OnixS
29{
30 namespace Eurex
31 {
32 namespace MarketData
33 {
34 namespace EOBI
35 {
36 class ONIXS_EUREX_EMDI_API AddComplexInstrumentEntry : public DataContainer
37 {
38 public:
41
43 Int64 legSecurityID() const;
44
46 bool legPrice (Decimal& price) const;
47
50
53
56
59
62
64 bool relatedPrice(Decimal& price) const;
65
66
68 void toString (std::string&) const;
69
70 private:
72
73 AddComplexInstrumentEntry (const void* data);
74 };
75
76 class ONIXS_EUREX_EMDI_API AddComplexInstrumentEntries : public DataContainer
77 {
78 public:
80 size_t size() const;
81
83 AddComplexInstrumentEntry operator[] (size_t idx) const;
84
86 void toString (std::string&) const;
87
88 private:
90
91 AddComplexInstrumentEntries (const void* data);
92 };
93
94 class ONIXS_EUREX_EMDI_API AddComplexInstrument : public MessageBase
95 {
96 public:
98 std::string msgType() const;
99
102
105
108
111
114
117
119 Int64 securityID() const;
120
122 UInt64 transactTime() const;
123
126
129
132
138
140 bool quantityScalingFactor(UInt16& result) const noexcept;
141
144
147
149 UInt8 noLegs() const;
150
153
155 void toString (std::string&) const override;
156
157 private:
158 friend class Implementation::MessageFactory;
159
160 AddComplexInstrument (const void* data, const DataSource& dataSource) : MessageBase (data, dataSource) {}
161 };
162 }
163 }
164 }
165}
Decimal type for better precision.
Definition Numeric.h:66
void toString(std::string &) const
Appends text presentation.
EOBI::LegSide::Enum legSide() const
The side of the individual leg of a strategy as defined in signature.
EOBI::LegSecurityType::Enum legSecurityType() const
Leg Security Type.
void toString(std::string &) const
Appends text presentation.
Int32 legSymbol() const
Product identifier of the leg security (only applicable for underlying leg).
Int32 legRatioQty() const
The ratio of quantity for this individual leg relative to the entire multi-leg security.
bool legPrice(Decimal &price) const
Leg Price.
Int64 legSecurityID() const
Instrument identifier of the leg security.
EOBI::RelatedPriceType::Enum relatedPriceType() const
StringRef securityDesc() const
Human readable description of instrument.
EOBI::ProductComplex::Enum productComplex() const
This field qualifies an instrument type on Eurex.
EOBI::SecurityUpdateAction::Enum securityUpdateAction() const
Security update action.
EOBI::LegSecurityIDSource::Enum legSecurityIDSource() const
Marketplace assigned identifier.
Int64 securityID() const
Unique instrument identifier.
AddComplexInstrumentEntries instrmtLegGrp() const
Variable size array, record counter: NoLegs.
void toString(std::string &) const override
Appends text presentation.
EOBI::SecurityType::Enum securityType() const
Security type.
EOBI::NoMarketSegments::Enum noMarketSegments() const
Number of market segments.
LastFragment::Enum lastFragment() const
LastFragment.
EOBI::ImpliedMarketIndicator::Enum impliedMarketIndicator() const
EOBI::MarketDataType::Enum marketDataType() const
Market data type.
EOBI::SecurityIDSource::Enum securityIDSource() const
Marketplace assigned identifier.
UInt8 noLegs() const
Counter: number of Legs repeating group instances.
bool quantityScalingFactor(UInt16 &result) const noexcept
UInt32 legRatioMultiplier() const
Common integer multiple of the option legs for Option Volatility Strategies.
UInt64 transactTime() const
Transaction timestamp.
const DataSource & dataSource() const
Returns data source.
Definition MessageBase.h:56
MessageBase(const void *data, const DataSource &dataSource)
Definition MessageBase.h:62
unsigned int UInt32
Definition Numeric.h:41
unsigned char UInt8
Definition Numeric.h:35
unsigned short UInt16
Definition Numeric.h:38