OnixS Eurex ETI Handler C++ library  9.19.0
API documentation
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 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 
22 #include "OnixS/Eurex/Trading/Export.h"
30 
31 #include <iosfwd>
32 #include <string>
33 #include <vector>
34 
35 namespace OnixS {
36 namespace Eurex {
37 namespace Trading {
38 
39 /// Order Exec Report Broadcast Message.
40 class ONIXS_EUREX_ETI_EXPORT OrderExecReportBroadcast : public Message
41 {
42 public:
43  /// Initialize default instance.
45 
46  /// Matching engine out timestamp.
48 
49  /// Unique ID assigned by the Eurex system during broadcast subscription in order to link broadcasts to the related subscription.
51 
52  /// Is required to define the scope of a Retransmission Request.
54 
55  /// Message key assigned to a order/quote event related Eurex ETI data stream.
57 
58  /// Identifier for subscription and retransmission of an ETI data stream.
60 
61  /// Indicates a retransmission message.
63 
64  /// Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one dedicated transaction.
66 
67  /// Exchange Order ID generated by Eurex System; it remains constant over the lifetime of an order.
69 
70  /// Unique participant defined order request identifier.
72 
73  /// ClOrdID (11) of the last successfully processed task (request) referring to the specific order; used for client order ID chaining.
75 
76  /// The instrument identifier uniquely identifies an instrument in the core system.
78 
79  /// Transaction timestamp.
81 
82  /// The entry timestamp is the time of the creation of the order.
84 
85  /// Priority timestamp.
87 
88  /// Price.
90 
91  /// Remaining quantity of an order.
93 
94  /// Cumulated executed quantity of an order.
96 
97  /// Total quantity cancelled for this order.
99 
100  /// Total Order Quantity.
102 
103  /// Stop price.
105 
106  /// The product identifier uniquely identifies a Eurex product.
108 
109  /// Mass order response identifier generated by the exchange.
111 
112  /// Date of order expiry.
114 
115  /// Self Match Prevention ID.
117 
118  /// Owning Business Unit.
120 
121  /// Identification of a Trading Session provided by Eurex to a certain business unit.
123 
124  /// Owning User ID.
126 
127  /// Entering User ID.
129 
130  /// Code to further qualify the field ExecType (150) of the Execution Report (8) message.
132 
133  /// Entering Business Unit.
135 
136  /// Indicate the instruction for SMP. If MatchInstCrossID (28744) is set then the default value for SelfMatchPreventionInstruction is 100 (Reject cross on business unit level).
138 
139  /// This field qualifies an instrument type on Eurex.
141 
142  /// Conveys the current status of an order.
144 
145  /// The reason why this message was generated.
147 
148  /// Side of the order.
150 
151  /// Order type.
153 
154  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as a market maker.
156 
157  /// Execution and trading restriction parameters supported by Eurex.
159 
160  /// Instructions for order handling, represented as a bit map.
162 
163  /// Marks a a certain order as a closing auction one.
165 
166  /// Indicates if the order is a Lean Order or a Standard (non lean) Order.
168 
169  /// Account to book trades and keep positions on.
170  std::string account;
171 
172  /// Flex Account information.
174 
175  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or close a position.
177 
178  /// Indicates the name of a member institution to which a give-up is designated.
180 
181  /// Partner identification at the Korea Exchange is required for orders in KRX products.
183 
184  /// Mandatory final KRX beneficiary account required for orders in KRX products.
185  std::string partyIdBeneficiary;
186 
187  /// Country code. Valid characters: 0x01-0x7E.
188  std::string partyIdLocationId;
189 
190  /// Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier. The field is for participant use only. Valid characters: 0x20, 0x22-0x7B, 0x7D, 0x7E.
192 
193  /// This field is used to provide additional regulatory information (according to respective rules and regs, circulars and bilateral coordination between participant and Trading Surveillance Office).
194  std::string complianceText;
195 
196  /// First free-format text field for trader-specific or customer-related comments.
197  std::string freeText1;
198 
199  /// Second free-format text field for trader-specific or customer-related comments.
200  std::string freeText2;
201 
202  /// Third free-format text field for trader-specific or customer-related comments.
203  std::string freeText3;
204 
205  /// User defined client order ID.
206  std::string fixClOrdId;
207 
208  /// Indicates if an order has been previously triggered.
210 
211  /// Indicates SMP involvement.
213 
214  /// Leg Ord Group.
215  std::vector<LegOrdGrpElem> legOrdGrp;
216 
217  /// Fills Group.
218  std::vector<FillsGrpElem> fillsGrp;
219 
220  /// Instrmnt Leg Exec Group.
221  std::vector<InstrmntLegExecGrpElem> instrmntLegExecGrp;
222 
223  /// Order Event Group.
224  std::vector<OrderEventGrpElem> orderEventGrp;
225 
226  /// Returns template ID.
227  TemplateId::Enum templateId () const;
228 
229  /// Returns string representation.
230  std::string toString () const;
231 
232 private:
233  friend class Serializer;
234  OrderExecReportBroadcast (const void* data, size_t dataSize, MessageInfo& msgInfo);
235  void nativeSerializeTo (void* nativeMessage);
236 };
237 
238 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const OrderExecReportBroadcast&);
239 
240 }
241 }
242 }
PartyIdEnteringFirm::Enum partyIdEnteringFirm
Entering Business Unit.
Enum
Indicates if the order is a Lean Order or a Standard (non lean) Order.
Definition: Enumerations.h:86
Enum
Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one...
Definition: Enumerations.h:661
Enum
Indicates a retransmission message.
Definition: Enumerations.h:71
std::vector< InstrmntLegExecGrpElem > instrmntLegExecGrp
Instrmnt Leg Exec Group.
CustOrderHandlingInst::Enum custOrderHandlingInst
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
UInt16 partitionId
Is required to define the scope of a Retransmission Request.
Enum
Indicate the instruction for SMP. If MatchInstCrossID (28744) is set then the default value for SelfM...
std::string partyIdLocationId
Country code. Valid characters: 0x01-0x7E.
Enum
Side of the order.
UInt64 orderId
Exchange Order ID generated by Eurex System; it remains constant over the lifetime of an order...
unsigned long long UInt64
Definition: Defines.h:47
ExecInst::Enum execInst
Instructions for order handling, represented as a bit map.
std::vector< FillsGrpElem > fillsGrp
Fills Group.
UInt64 origClOrdId
ClOrdID (11) of the last successfully processed task (request) referring to the specific order; used ...
Enum
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
Enum
The reason why this message was generated.
Definition: Enumerations.h:452
signed int SInt32
Definition: Defines.h:42
Enum
This field qualifies an instrument type on Eurex.
Enum
Instructions for order handling, represented as a bit map.
Definition: Enumerations.h:391
CrossedIndicator::Enum crossedIndicator
Indicates SMP involvement.
UInt32 partyIdSessionId
Identification of a Trading Session provided by Eurex to a certain business unit. ...
TimeInForce::Enum timeInForce
Execution and trading restriction parameters supported by Eurex.
UInt64 clOrdId
Unique participant defined order request identifier.
std::vector< OrderEventGrpElem > orderEventGrp
Order Event Group.
Message base class.
Definition: Message.h:33
SInt64 cxlQty
Total quantity cancelled for this order.
std::vector< UInt8 > Data
Definition: Defines.h:60
std::string freeText3
Third free-format text field for trader-specific or customer-related comments.
SInt64 leavesQty
Remaining quantity of an order.
ProductComplex::Enum productComplex
This field qualifies an instrument type on Eurex.
std::string freeText1
First free-format text field for trader-specific or customer-related comments.
Enum
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
Definition: Enumerations.h:271
Enum
Code to further qualify the field ExecType (150) of the Execution Report (8) message.
Definition: Enumerations.h:409
std::string partyIdPositionAccount
Flex Account information.
SInt64 cumQty
Cumulated executed quantity of an order.
Enum
Indicates if an order has been previously triggered.
unsigned int UInt32
Definition: Defines.h:46
UInt32 applSubId
Unique ID assigned by the Eurex system during broadcast subscription in order to link broadcasts to t...
Data applMsgId
Message key assigned to a order/quote event related Eurex ETI data stream.
signed long long SInt64
Definition: Defines.h:43
OrdStatus::Enum ordStatus
Conveys the current status of an order.
SInt64 securityId
The instrument identifier uniquely identifies an instrument in the core system.
UInt64 trdRegTSTimeOut
Matching engine out timestamp.
Triggered::Enum triggered
Indicates if an order has been previously triggered.
std::string complianceText
This field is used to provide additional regulatory information (according to respective rules and re...
std::string freeText2
Second free-format text field for trader-specific or customer-related comments.
ExecRestatementReason::Enum execRestatementReason
Code to further qualify the field ExecType (150) of the Execution Report (8) message.
TradingSessionSubId::Enum tradingSessionSubId
Marks a a certain order as a closing auction one.
UInt64 trdRegTSEntryTime
The entry timestamp is the time of the creation of the order.
PositionEffect::Enum positionEffect
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
Enum
Identifier for subscription and retransmission of an ETI data stream.
Definition: Enumerations.h:34
UInt32 massOrderReportId
Mass order response identifier generated by the exchange.
std::string account
Account to book trades and keep positions on.
ApplResendFlag::Enum applResendFlag
Indicates a retransmission message.
std::ostream & operator<<(std::ostream &, const ConnectionStateChange &)
Make it printable to formatted C++ I/O streams.
LastFragment::Enum lastFragment
Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one...
std::vector< LegOrdGrpElem > legOrdGrp
Leg Ord Group.
ApplId::Enum applId
Identifier for subscription and retransmission of an ETI data stream.
std::string partyIdBeneficiary
Mandatory final KRX beneficiary account required for orders in KRX products.
Enum
Conveys the current status of an order.
SelfMatchPreventionInstruction::Enum selfMatchPreventionInstruction
Indicate the instruction for SMP. If MatchInstCrossID (28744) is set then the default value for SelfM...
Enum
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
Enum
Indicates SMP involvement.
Definition: Enumerations.h:256
unsigned short UInt16
Definition: Defines.h:45
ExecType::Enum execType
The reason why this message was generated.
std::string partyIdTakeUpTradingFirm
Indicates the name of a member institution to which a give-up is designated.
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
Enum
Marks a a certain order as a closing auction one.
ApplSeqIndicator::Enum applSeqIndicator
Indicates if the order is a Lean Order or a Standard (non lean) Order.
Enum
Execution and trading restriction parameters supported by Eurex.
TradingCapacity::Enum tradingCapacity
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
std::string partyIdOrderOriginationFirm
Partner identification at the Korea Exchange is required for orders in KRX products.
std::string fixClOrdId
User defined client order ID.