OnixS Eurex EDCI Handler C++ library 1.0.0
Users' manual and API documentation
Loading...
Searching...
No Matches
OrderExecReportBroadcast.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
13 * part of this source code or associated reference material to any other location for further
14 * reproduction or redistribution, and any amendments to this copyright notice, are expressly
15 * prohibited.
16 *
17 * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
18 * the terms of the Agreement is a violation of copyright law.
19 */
20
21#pragma once
22
23// Project specific includes
24#include <OnixS/Eurex/DropCopy/Export.h>
26
27// Standard includes
28#include <cstdint>
29#include <iosfwd>
30#include <string>
31#include <vector>
32
33namespace OnixS { namespace Eurex { namespace DropCopy {
34
36class ONIXS_EUREX_EDCI_EXPORT OrderExecReportBroadcast : public Message
37{
38public:
41
43 class ONIXS_EUREX_EDCI_EXPORT RBCHeaderElem
44 {
45 public:
48
50 std::uint64_t sendingTime;
51
53 std::uint32_t partyIdExecutingUnit;
54
56 std::uint16_t partitionId;
57
60
64
66 std::string toString() const;
67
68 private:
69 friend class Serializer;
70 RBCHeaderElem(const void* data);
71 void nativeSerializeTo(void* data) const;
72 };
73
76
78 std::uint64_t orderId;
79
81 std::uint64_t clOrdId;
82
85 std::uint64_t origClOrdId;
86
88 std::int64_t securityId;
89
91 std::uint64_t execId;
92
94 std::int64_t price;
95
97 std::int64_t stopPx;
98
100 std::int64_t leavesQty;
101
103 std::int64_t cumQty;
104
106 std::int64_t cxlQty;
107
109 std::int64_t orderQty;
110
113 std::uint64_t partyIdClientId;
114
117
121 std::uint64_t executingTrader;
122
124 std::int32_t marketSegmentId;
125
127 std::uint32_t matchInstCrossId;
128
130 std::uint32_t expireDate;
131
133 std::uint32_t partyIdSessionId;
134
137
140
143
146
149
152
155
159
162
165
168
171
174
177
180
183
186
189
193
196
198 std::string freeText1;
199
201 std::string freeText2;
202
204 std::string freeText3;
205
207 std::string fixClOrdId;
208
210 std::string fixOrigClOrdId;
211
214
216 class ONIXS_EUREX_EDCI_EXPORT FillsGrpElem
217 {
218 public:
221
223 std::int64_t fillPx;
224
226 std::int64_t fillQty;
227
229 std::uint32_t fillMatchId;
230
233 std::int32_t fillExecId;
234
236 std::string toString() const;
237
238 private:
239 friend class Serializer;
240 FillsGrpElem(const void* data);
241 void nativeSerializeTo(void* data) const;
242 };
243
244 using FillsGrp = std::vector<FillsGrpElem>;
246
248 TemplateId::Enum templateId() const override;
249
251 std::string toString() const override;
252
253private:
254 friend class Serializer;
255 OrderExecReportBroadcast(const void* data, std::size_t dataSize, MessageInfo& msgInfo);
256 void nativeSerializeTo(void* data) override;
257};
258
260ONIXS_EUREX_EDCI_EXPORT std::ostream& operator<<(std::ostream&, const OrderExecReportBroadcast::RBCHeaderElem&);
261
263ONIXS_EUREX_EDCI_EXPORT std::ostream& operator<<(std::ostream&, const OrderExecReportBroadcast::FillsGrpElem&);
264
266ONIXS_EUREX_EDCI_EXPORT std::ostream& operator<<(std::ostream&, const OrderExecReportBroadcast&);
267
268}}} // namespace OnixS::Eurex::DropCopy
Per-message metadata delivered to listener callbacks.
Definition MessageInfo.h:33
Message base class.
Definition Message.h:35
Repeating group containing details of partial fills for an order.
std::string toString() const
Returns string representation.
std::uint32_t fillMatchId
Unique identifier for each price level of a match event (used for public trade reporting).
Header structure used for broadcast messages including timestamp, partition and application identifie...
std::string toString() const
Returns string representation.
std::uint16_t partitionId
Is required to define the scope of a Retransmission Request.
ApplId::Enum applId
Identifier for subscription and retransmission of an ETI data stream.
Triggered::Enum triggered
Indicates if an order has been previously triggered.
OrderExecReportBroadcast()
Initialize default instance.
std::uint64_t partyIdInvestmentDecisionMaker
Identifier of the person or algorithm responsible for the investment decision.
std::int64_t cxlQty
Total quantity cancelled for this order.
OrdStatus::Enum ordStatus
Conveys the current status of an order.
std::uint32_t matchInstCrossId
Self Match Prevention ID.
std::int64_t cumQty
Cumulated executed quantity of an order.
SelfMatchPreventionInstruction::Enum selfMatchPreventionInstruction
Instruction defining how self-match prevention should be applied.
TradingSessionSubId::Enum tradingSessionSubId
Marks a a certain order as a closing auction one.
TemplateId::Enum templateId() const override
Returns template ID.
ApplSeqIndicator::Enum applSeqIndicator
Indicates if the order is a Lean Order or a Standard (non lean) Order.
OrderOrigination::Enum orderOrigination
Order origination, MiFID field - to indicate order received from a direct access or sponsored access ...
std::string freeText2
Second free-format text field for trader-specific or customer-related comments.
ExecInst::Enum execInst
Instructions for order handling, represented as a bit map.
ExecType::Enum execType
The reason why this message was generated.
ExecutingTraderQualifier::Enum executingTraderQualifier
Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos.
std::int64_t leavesQty
Remaining quantity of an order.
MatchType::Enum matchType
The point in the matching process at which this trade was matched.
std::string fixOrigClOrdId
FIXClOrdID of the last successfully processed request referring to the specific order.
std::int32_t marketSegmentId
The product identifier uniquely identifies a Eurex product.
PartyIdInvestmentDecisionMakerQualifier::Enum partyIdInvestmentDecisionMakerQualifier
Qualifier indicating whether the investment decision maker is a human or an algorithm.
std::string toString() const override
Returns string representation.
std::uint64_t orderId
Exchange Order ID generated by Eurex System; it remains constant over the lifetime of an order.
std::string partyEndClientIdentification
End client identifier.
std::string fixClOrdId
User defined client order ID for orders entered via the FIX interface.
TimeInForce::Enum timeInForce
Execution and trading restriction parameters supported by Eurex.
std::uint32_t partyIdSessionId
Identification of a Trading Session provided by Eurex to a certain business unit.
std::string freeText1
First free-format text field for trader-specific or customer-related comments.
std::string freeText3
Third free-format text field for trader-specific or customer-related comments.
ProductComplex::Enum productComplex
This field qualifies an instrument type on Eurex.
CrossedIndicator::Enum crossedIndicator
Indicates SMP involvement.
std::uint64_t clOrdId
Unique participant defined order request identifier.
std::int64_t securityId
The instrument identifier uniquely identifies an instrument in the core system.
CrossMatchInstruction::Enum crossMatchInstruction
Instruction defining how to handle self-match prevention when a cross is detected.
std::ostream & operator<<(std::ostream &, ApplId::Enum)
Make it printable using C++ I/O streams.
Enum
Identifier for subscription and retransmission of an ETI data stream.
Enum
Indicates if the order is a Lean Order or a Standard (non lean) Order.
Enum
Instruction defining how to handle self-match prevention when a cross is detected.
Enum
Instructions for order handling, represented as a bit map.
Enum
The reason why this message was generated.
Enum
Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos.
Enum
The point in the matching process at which this trade was matched.
Enum
Conveys the current status of an order.
Enum
Order origination, MiFID field - to indicate order received from a direct access or sponsored access ...
Enum
Qualifier indicating whether the investment decision maker is a human or an algorithm.
Enum
This field qualifies an instrument type on Eurex.
Enum
Instruction defining how self-match prevention should be applied.
Enum
Execution and trading restriction parameters supported by Eurex.
Enum
Marks a a certain order as a closing auction one.
Enum
Indicates if an order has been previously triggered.