OnixS C++ Eurex T7 Market and Reference Data (EMDI, MDI, RDI, EOBI) Handlers 18.2.0
API documentation
Loading...
Searching...
No Matches
DepthSnapshot.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 {
36 {
37 enum Enum
38 {
41
44
47 };
48 };
49
51 class ONIXS_EUREX_EMDI_API MDSnapshotEntry : GroupInstance
52 {
53 public:
54
60
66
72
78
86
100
106
112
118
124
130
133 {
134 UInt32 value;
135 return (get (Tags::FastMarketIndicator).toNumber (value) ) ? (value == 1) : false;
136 }
137
143
149
155
161
163 bool highPx(Decimal& price) const
164 {
165 return get(Tags::HighPx).toNumber(price);
166 }
167
169 bool lowPx(Decimal& price) const
170 {
171 return get(Tags::LowPx).toNumber(price);
172 }
173
181 {
182 UInt64 value;
183 return (get (Tags::TradeCondition).toNumber (value) ? TradeConditionSet (value) : TradeConditionSet (0) );
184 }
185
191
193 bool mdEntryPx (Decimal& price) const
194 {
195 return get (Tags::MDEntryPx).toNumber (price);
196 }
197
199 bool mdEntrySize (Decimal& size) const
200 {
201 return get (Tags::MDEntrySize).toNumber (size);
202 }
203
205 bool numberOfOrders (UInt32& number) const
206 {
207 return get (Tags::NumberOfOrders).toNumber (number);
208 }
209
213 bool mdPriceLevel (UInt32& level) const
214 {
215 return get (Tags::MDPriceLevel).toNumber (level);
216 }
217
219 bool mdEntryTime (UInt64& time) const
220 {
221 return get (Tags::MDEntryTime).toNumber (time);
222 }
223
225 bool nonDisclosedTradeVolume (Decimal& volume) const
226 {
227 return get (Tags::NonDisclosedTradeVolume).toNumber (volume);
228 }
229
233 bool totalNumOfTrades (UInt32& number) const
234 {
235 return get (Tags::TotalNumOfTrades).toNumber (number);
236 }
237
238 private:
239 friend class TypedGroup<MDSnapshotEntry>;
240
241 MDSnapshotEntry (const GroupInstance& groupInstance)
242 : GroupInstance (groupInstance)
243 {
244 }
245 };
246
247 class MDSnapshotEntries : public TypedGroup<MDSnapshotEntry>
248 {
249 private:
250 explicit
251 MDSnapshotEntries (const Group& group)
253 {
254 }
255
256 friend class DepthSnapshot;
257 };
258
260 class ONIXS_EUREX_EMDI_API DepthSnapshot : public Message
261 {
262 public:
263
266 {
267 return get (Tags::LastMsgSeqNumProcessed).toNumber (seqNum);
268 }
269
275
281
284 {
285 return getInt64 (Tags::SecurityID);
286 }
287
293
299
305
307 UInt64 lastUpdateTime() const
308 {
310 }
311
317
318 private:
320
321 DepthSnapshot (const void* impl)
322 : Message (impl)
323 {
324 }
325 };
326 }
327 }
328}
Decimal type for better precision.
Definition Numeric.h:66
InstrumentType::Enum productComplex() const
Type of instrument.
SecurityStatus::Enum securityStatus() const
Security Status.
bool lastMsgSeqNumProcessed(UInt32 &seqNum) const
Last message sequence number sent regardless of message type.
UInt64 lastUpdateTime() const
Time of last change for SecurityID (nanoseconds).
MarketSegmentId marketSegmentId() const
Product identifier.
MDSnapshotEntries mdEntries() const
Entries.
SecurityStatus::Enum tesSecurityStatus() const
Defines the TES security status.
RefreshIndicator::Enum refreshIndicator() const
Refresh Indicator.
SecurityId securityId() const
Instrument identifier.
UInt32 getUInt32(Tag tag) const
Group getGroup(Tag numberOfInstancesTag) const
UInt64 getUInt64(Tag tag) 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.
MultiLegReportingType::Enum multiLegReportingType() const
MultiLegReportingType.
TradingSessionId::Enum tradingSessionId() const
MDOriginType::Enum mdOriginType() const
Origin type.
SecurityTradingEvent::Enum potentialSecurityTradingEvent() const
Potential security trading event.
bool mdEntryTime(UInt64 &time) const
Time of entry (nanoseconds) for last trade entry only (TradeCondition="U").
bool lowPx(Decimal &price) const
Lower boundary price.
SoldOutIndicator::Enum soldOutIndicator() const
Applicable for cash market products only (trading model continuous auction).
TradeConditionSet tradeCondition() const
bool mdEntrySize(Decimal &size) const
Quantity.
bool highPx(Decimal &price) const
Upper boundary price.
MarketCondition::Enum marketCondition() const
Indicator for stressed market conditions.
bool mdEntryPx(Decimal &price) const
Price.
bool totalNumOfTrades(UInt32 &number) const
bool nonDisclosedTradeVolume(Decimal &volume) const
Non disclosed trade volumes.
TradingSessionSubID::Enum tradingSessionSubID() const
Defines the trading session sub ID.
BookType::Enum mdBookType() const
Top-of-book is only applicable to IPS, i.e. requires the presence of MDSubBookType.
MDEntryType::Enum mdEntryType() const
Defines the entry type.
SecurityTradingEvent::Enum securityTradingEvent() const
Identifies an event related to a securityTradingStatus()
MultiLegPriceModel::Enum multiLegPriceModel() const
MultiLegPriceModel.
SecurityTradingStatus::Enum securityTradingStatus() const
Defines the security trading status.
bool fastMarketIndicator() const
Indicates if product is in the state Fast Market.
bool numberOfOrders(UInt32 &number) const
Number Of Orders.
TradSesStatus::Enum tesTradSesStatus() const
Defines the TES trading session status.
SubBookType::Enum mdSubBookType() const
Optional qualifier to MDBookType.
SequenceNumber seqNum() const
Message(const Message &other)
const Tag MultiLegReportingType
Definition Tags.h:236
const Tag PotentialSecurityTradingEvent
Definition Tags.h:191
const Tag SecurityTradingStatus
Definition Tags.h:61
const Tag TradingSessionSubID
Definition Tags.h:77
const Tag LastMsgSeqNumProcessed
Definition Tags.h:65
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
Exposes list of available sub book types.
@ Undefined
Used to identify absence of value.