OnixS Eurex ETI Handler C++ library  9.19.0
API documentation
MassOrder.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"
27 
28 #include <iosfwd>
29 #include <string>
30 #include <vector>
31 
32 namespace OnixS {
33 namespace Eurex {
34 namespace Trading {
35 
36 /// Order Entry Group Element.
37 class ONIXS_EUREX_ETI_EXPORT OrderEntryGrpElem
38 {
39 public:
40  /// Initialize default instance.
42 
43  /// Price.
45 
46  /// Total Order Quantity.
48 
49  /// The product identifier uniquely identifies a Eurex product.
51 
52  /// The instrument identifier uniquely identifies an instrument in the core system.
54 
55  /// Side of the order.
57 
58  /// This field qualifies an instrument type on Eurex.
60 
61  /// Returns string representation.
62  std::string toString () const;
63 
64 private:
65  friend class Serializer;
66  OrderEntryGrpElem (const void* data);
67 };
68 
69 ONIXS_EUREX_ETI_EXPORT std::ostream& operator << (std::ostream&, const OrderEntryGrpElem&);
70 
71 /// Mass Order Message.
72 class ONIXS_EUREX_ETI_EXPORT MassOrder : public Message
73 {
74 public:
75  /// Initialize default instance.
76  MassOrder ();
77 
78  /// User ID.
80 
81  /// Customer defined mass order identifier.
83 
84  /// Client Identifier field (ESMA Field 3 (Section A)) used to identify the client of an order for agent account of the member or participant of the trading venue.
86 
87  /// Investment decision within firm (ESMA Field 4 (Section A)) is the code used to identify the person or the algorithm within the member or participant of the Trading Venue who is responsible for the investment decision.
89 
90  /// Executing Trader data Field (ESMA Field 5 (Section A)) used to identify the person or algorithm within the member or participant of the trading venue who is responsible for the execution of the transaction resulting from the order.
92 
93  /// Indicates the name of a member institution to which a give-up is designated.
95 
96  /// Partner identification at the Korea Exchange is required for orders in KRX products.
98 
99  /// Mandatory final KRX beneficiary account required for orders in KRX products.
100  std::string partyIdBeneficiary;
101 
102  /// Indicator how price validity check should be performed by the exchange.
104 
105  /// Indicator for checking the maximum order/quote value by the exchange.
107 
108  /// Order attribute liquidity provision.
110 
111  /// Order attribute risk reduction.
113 
114  /// Marks a a certain order as a closing auction one.
116 
117  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as a market maker.
119 
120  /// Order origination, MiFID field - to indicate order received from a direct access or sponsored access customer.
122 
123  /// Party ID investment decision maker qualifier.
125 
126  /// Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos.
128 
129  /// Account to book trades and keep positions on.
130  std::string account;
131 
132  /// Flex Account information.
134 
135  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or close a position.
137 
138  /// Country code. Valid characters: 0x01-0x7E.
139  std::string partyIdLocationId;
140 
141  /// 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.
143 
144  /// 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).
145  std::string complianceText;
146 
147  /// First free-format text field for trader-specific or customer-related comments.
148  std::string freeText1;
149 
150  /// Second free-format text field for trader-specific or customer-related comments.
151  std::string freeText2;
152 
153  /// Third free-format text field for trader-specific or customer-related comments.
154  std::string freeText3;
155 
156  /// End client identifier.
158 
159  /// Order Entry Group.
160  std::vector<OrderEntryGrpElem> orderEntryGrp;
161 
162  /// Returns template ID.
163  TemplateId::Enum templateId () const;
164 
165  /// Returns string representation.
166  std::string toString () const;
167 
168 private:
169  friend class Serializer;
170  MassOrder (const void* data, size_t dataSize, MessageInfo& msgInfo);
171  void nativeSerializeTo (void* nativeMessage);
172 };
173 
174 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const MassOrder&);
175 
176 }
177 }
178 }
Enum
Party ID investment decision maker qualifier.
std::string partyIdOrderOriginationFirm
Partner identification at the Korea Exchange is required for orders in KRX products.
Definition: MassOrder.h:97
Order Entry Group Element.
Definition: MassOrder.h:37
std::string freeText2
Second free-format text field for trader-specific or customer-related comments.
Definition: MassOrder.h:151
Enum
Side of the order.
Mass Order Message.
Definition: MassOrder.h:72
unsigned long long UInt64
Definition: Defines.h:47
Enum
Indicator how price validity check should be performed by the exchange.
Side::Enum side
Side of the order.
Definition: MassOrder.h:56
ProductComplex::Enum productComplex
This field qualifies an instrument type on Eurex.
Definition: MassOrder.h:59
std::string partyIdTakeUpTradingFirm
Indicates the name of a member institution to which a give-up is designated.
Definition: MassOrder.h:94
PartyIdInvestmentDecisionMakerQualifier::Enum partyIdInvestmentDecisionMakerQualifier
Party ID investment decision maker qualifier.
Definition: MassOrder.h:124
Enum
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
TradingSessionSubId::Enum tradingSessionSubId
Marks a a certain order as a closing auction one.
Definition: MassOrder.h:115
signed int SInt32
Definition: Defines.h:42
Enum
This field qualifies an instrument type on Eurex.
Message base class.
Definition: Message.h:33
Enum
Order origination, MiFID field - to indicate order received from a direct access or sponsored access ...
OrderOrigination::Enum orderOrigination
Order origination, MiFID field - to indicate order received from a direct access or sponsored access ...
Definition: MassOrder.h:121
ExecutingTraderQualifier::Enum executingTraderQualifier
Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos...
Definition: MassOrder.h:127
Enum
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
Definition: Enumerations.h:271
std::string partyEndClientIdentification
End client identifier.
Definition: MassOrder.h:157
std::string partyIdPositionAccount
Flex Account information.
Definition: MassOrder.h:133
CustOrderHandlingInst::Enum custOrderHandlingInst
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
Definition: MassOrder.h:142
unsigned int UInt32
Definition: Defines.h:46
std::string freeText3
Third free-format text field for trader-specific or customer-related comments.
Definition: MassOrder.h:154
signed long long SInt64
Definition: Defines.h:43
UInt64 partyIdInvestmentDecisionMaker
Investment decision within firm (ESMA Field 4 (Section A)) is the code used to identify the person or...
Definition: MassOrder.h:88
TradingCapacity::Enum tradingCapacity
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
Definition: MassOrder.h:118
std::string freeText1
First free-format text field for trader-specific or customer-related comments.
Definition: MassOrder.h:148
std::string partyIdLocationId
Country code. Valid characters: 0x01-0x7E.
Definition: MassOrder.h:139
UInt64 executingTrader
Executing Trader data Field (ESMA Field 5 (Section A)) used to identify the person or algorithm withi...
Definition: MassOrder.h:91
std::string complianceText
This field is used to provide additional regulatory information (according to respective rules and re...
Definition: MassOrder.h:145
Enum
Indicator for checking the maximum order/quote value by the exchange.
std::vector< OrderEntryGrpElem > orderEntryGrp
Order Entry Group.
Definition: MassOrder.h:160
OrderAttributeRiskReduction::Enum orderAttributeRiskReduction
Order attribute risk reduction.
Definition: MassOrder.h:112
UInt64 partyIdClientId
Client Identifier field (ESMA Field 3 (Section A)) used to identify the client of an order for agent ...
Definition: MassOrder.h:85
std::string partyIdBeneficiary
Mandatory final KRX beneficiary account required for orders in KRX products.
Definition: MassOrder.h:100
std::string account
Account to book trades and keep positions on.
Definition: MassOrder.h:130
UInt64 massOrderRequestId
Customer defined mass order identifier.
Definition: MassOrder.h:82
std::ostream & operator<<(std::ostream &, const ConnectionStateChange &)
Make it printable to formatted C++ I/O streams.
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
Definition: MassOrder.h:50
Enum
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
OrderAttributeLiquidityProvision::Enum orderAttributeLiquidityProvision
Order attribute liquidity provision.
Definition: MassOrder.h:109
SInt64 orderQty
Total Order Quantity.
Definition: MassOrder.h:47
PositionEffect::Enum positionEffect
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
Definition: MassOrder.h:136
PriceValidityCheckType::Enum priceValidityCheckType
Indicator how price validity check should be performed by the exchange.
Definition: MassOrder.h:103
ValueCheckTypeValue::Enum valueCheckTypeValue
Indicator for checking the maximum order/quote value by the exchange.
Definition: MassOrder.h:106
Enum
Marks a a certain order as a closing auction one.
SInt64 securityId
The instrument identifier uniquely identifies an instrument in the core system.
Definition: MassOrder.h:53
Enum
Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos...
Definition: Enumerations.h:473