OnixS C++ Eurex T7 Market and Reference Data (EMDI, MDI, RDI, EOBI) Handlers 18.2.0
API documentation
Loading...
Searching...
No Matches
DepthIncremental.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 {
35 class ONIXS_EUREX_EMDI_API MDIncrementalEntry : GroupInstance
36 {
37 public:
38
44
50
56
59 {
61 }
62
64 bool mdEntryPx (Decimal& price) const
65 {
66 return get (Tags::MDEntryPx).toNumber (price);
67 }
68
70 bool mdEntrySize (Decimal& size) const
71 {
72 return get (Tags::MDEntrySize).toNumber (size);
73 }
74
76 bool numberOfOrders (UInt32& number) const
77 {
78 return get (Tags::NumberOfOrders).toNumber (number);
79 }
80
84 bool mdPriceLevel (UInt32& level) const
85 {
86 return get (Tags::MDPriceLevel).toNumber (level);
87 }
88
90 bool mdEntryTime (UInt64& time) const
91 {
92 return get (Tags::MDEntryTime).toNumber (time);
93 }
94
100
106
111 {
113 }
114
120
125 {
126 UInt64 value;
127 return (get (Tags::TradeCondition).toNumber (value) ? TradeConditionSet (value) : TradeConditionSet (0) );
128 }
129
135
141
143 bool aggressorTimestamp (UInt64& time) const
144 {
145 return get (Tags::AggressorTime).toNumber (time);
146 }
147
149 bool requestTime (UInt64& time) const
150 {
151 return get (Tags::RequestTime).toNumber (time);
152 }
153
155 bool transBkdTime (UInt64& time) const
156 {
157 return get (Tags::TransBkdTime).toNumber (time);
158 }
159
165
169 bool numberOfBuyOrders (UInt32& number) const
170 {
171 return get (Tags::NumberOfBuyOrders).toNumber (number);
172 }
173
177 bool numberOfSellOrders (UInt32& number) const
178 {
179 return get (Tags::NumberOfSellOrders).toNumber (number);
180 }
181
183 bool numberOfBuySides (UInt32& number) const
184 {
185 return get (Tags::NumberOfBuySides).toNumber (number);
186 }
187
189 bool numberOfSellSides (UInt32& number) const
190 {
191 return get (Tags::NumberOfSellSides).toNumber (number);
192 }
193
197 bool totalNumOfTrades (UInt32& number) const
198 {
199 return get (Tags::TotalNumOfTrades).toNumber (number);
200 }
201
205 bool restingCxlQty (Decimal& quantity) const
206 {
207 return get (Tags::RestingCxlQty).toNumber (quantity);
208 }
209
213 bool mdEntryId (UInt32& id) const
214 {
215 return get (Tags::MDEntryID).toNumber (id);
216 }
217
220 {
221 return get (Tags::NonDisclosedTradeVolume).toNumber (id);
222 }
223
224 private:
225 friend class TypedGroup<MDIncrementalEntry>;
226
227 MDIncrementalEntry (const GroupInstance& groupInstance)
228 : GroupInstance (groupInstance)
229 {
230 }
231 };
232
233 class MDIncrementalEntries : public TypedGroup<MDIncrementalEntry>
234 {
235 private:
236 explicit
237 MDIncrementalEntries (const Group& group)
239 {
240 }
241
242 friend class DepthIncremental;
243 };
244
246 class ONIXS_EUREX_EMDI_API DepthIncremental : public Message
247 {
248 public:
249
255
261
262 private:
264
265 DepthIncremental (const void* impl)
266 : Message (impl)
267 {
268 }
269 };
270 }
271 }
272}
Decimal type for better precision.
Definition Numeric.h:66
MarketSegmentId marketSegmentId() const
Product identifier.
MDIncrementalEntries mdEntries() const
Entries.
UInt32 getUInt32(Tag tag) const
Group getGroup(Tag numberOfInstancesTag) const
FieldValueRef get(Tag tag) const
GroupInstance(const GroupInstance &other)
Initializes instance as reference to the other one.
QuoteCondition::Enum quoteCondition() const
Potential security trading event.
AlgorithmicTradeIndicator::Enum algorithmicTradeIndicator() const
Algorithmic-Trade-Indicator.
MultiLegReportingType::Enum multiLegReportingType() const
MultiLegReportingType.
MDOriginType::Enum mdOriginType() const
Origin type.
SecurityTradingEvent::Enum potentialSecurityTradingEvent() const
Potential security trading event.
bool mdEntryTime(UInt64 &time) const
For bids and offers the official time of book entry, for trades official time of execution (all in na...
Side::Enum aggressorSide() const
Side of the incoming order, which created the trade. Only present for MDEntryType=Trade.
MDUpdateAction::Enum mdUpdateAction() const
Update action.
bool mdEntrySize(Decimal &size) const
Quantity.
bool mdEntryPx(Decimal &price) const
Price.
bool restingCxlQty(Decimal &quantity) const
bool requestTime(UInt64 &time) const
Request time.
MDEntryType::Enum mdEntryType() const
Defines the entry type.
MultiLegPriceModel::Enum multiLegPriceModel() const
MultiLegPriceModel.
SecurityId securityId() const
Instrument identifier.
bool aggressorTimestamp(UInt64 &time) const
Entry time of the incoming order that triggered the trade. Only present for MDEntryType=Trade.
bool numberOfOrders(UInt32 &number) const
Number Of Orders.
bool nonDisclosedTradeVolume(Decimal &id) const
Contains the TES trade volume that is not displayed during the day. Only present for MDEntryType=B "T...
Message(const Message &other)
const Tag AlgorithmicTradeIndicator
Definition Tags.h:235
const Tag MultiLegReportingType
Definition Tags.h:236
const Tag PotentialSecurityTradingEvent
Definition Tags.h:191
const Tag NonDisclosedTradeVolume
Definition Tags.h:193
Enumeration::Enum getIntEnumFieldValue(const FieldSet &fieldSet, Tag tag)
Definition FieldSet.h:228
unsigned int UInt32
Definition Numeric.h:41
UInt32 MarketSegmentId
Alias for Market Segment ID type.
Definition Defines.h:40
Int64 SecurityId
Alias for Security Id type.
Definition Defines.h:51
Enumeration::Enum getNonZeroIntEnumFieldValue(const FieldSet &fieldSet, Tag tag)
Definition FieldSet.h:235