OnixS Eurex ETI Handler C++ library  9.19.0
API documentation
NewOrderComplexRequest.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"
28 
29 #include <iosfwd>
30 #include <string>
31 #include <vector>
32 
33 namespace OnixS {
34 namespace Eurex {
35 namespace Trading {
36 
37 /// New Order Complex Request Message.
38 class ONIXS_EUREX_ETI_EXPORT NewOrderComplexRequest : public Message
39 {
40 public:
41  /// Initialize default instance.
43 
44  /// User ID.
46 
47  /// Unique participant defined order request identifier.
49 
50  /// The instrument identifier uniquely identifies an instrument in the core system.
52 
53  /// Price.
55 
56  /// Total Order Quantity.
58 
59  /// 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.
61 
62  /// 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.
64 
65  /// 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.
67 
68  /// The product identifier uniquely identifies a Eurex product.
70 
71  /// Date of order expiry.
73 
74  /// Self Match Prevention ID.
76 
77  /// Indicates the name of a member institution to which a give-up is designated.
79 
80  /// Partner identification at the Korea Exchange is required for orders in KRX products.
82 
83  /// Mandatory final KRX beneficiary account required for orders in KRX products.
84  std::string partyIdBeneficiary;
85 
86  /// Indicates if the order is a Lean Order or a Standard (non lean) Order.
88 
89  /// Indicate the instruction for SMP. If MatchInstCrossID (28744) is set then the default value for SelfMatchPreventionInstruction is 100 (Reject cross on business unit level).
91 
92  /// This field qualifies an instrument type on Eurex.
94 
95  /// Side of the order.
97 
98  /// Order type.
100 
101  /// Indicator how price validity check should be performed by the exchange.
103 
104  /// Indicator for checking the maximum order/quote value by the exchange.
106 
107  /// Order attribute liquidity provision.
109 
110  /// Order attribute risk reduction.
112 
113  /// Instructions for order handling, represented as a bit map.
115 
116  /// Execution and trading restriction parameters supported by Eurex.
118 
119  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as a market maker.
121 
122  /// Order origination, MiFID field - to indicate order received from a direct access or sponsored access customer.
124 
125  /// Party ID investment decision maker qualifier.
127 
128  /// Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos.
130 
131  /// Country code. Valid characters: 0x01-0x7E.
132  std::string partyIdLocationId;
133 
134  /// 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).
135  std::string complianceText;
136 
137  /// 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.
139 
140  /// Flex Account information.
142 
143  /// First free-format text field for trader-specific or customer-related comments.
144  std::string freeText1;
145 
146  /// Second free-format text field for trader-specific or customer-related comments.
147  std::string freeText2;
148 
149  /// Third free-format text field for trader-specific or customer-related comments.
150  std::string freeText3;
151 
152  /// User defined client order ID.
153  std::string fixClOrdId;
154 
155  /// End client identifier.
157 
158  /// Leg Ord Group.
159  std::vector<LegOrdGrpElem> legOrdGrp;
160 
161  /// Returns template ID.
162  TemplateId::Enum templateId () const;
163 
164  /// Returns string representation.
165  std::string toString () const;
166 
167 private:
168  friend class Serializer;
169  NewOrderComplexRequest (const void* data, size_t dataSize, MessageInfo& msgInfo);
170  void nativeSerializeTo (void* nativeMessage);
171 };
172 
173 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const NewOrderComplexRequest&);
174 
175 }
176 }
177 }
Enum
Party ID investment decision maker qualifier.
Enum
Indicates if the order is a Lean Order or a Standard (non lean) Order.
Definition: Enumerations.h:86
std::vector< LegOrdGrpElem > legOrdGrp
Leg Ord Group.
UInt64 partyIdClientId
Client Identifier field (ESMA Field 3 (Section A)) used to identify the client of an order for agent ...
ApplSeqIndicator::Enum applSeqIndicator
Indicates if the order is a Lean Order or a Standard (non lean) Order.
Enum
Indicate the instruction for SMP. If MatchInstCrossID (28744) is set then the default value for SelfM...
Enum
Side of the order.
unsigned long long UInt64
Definition: Defines.h:47
Enum
Indicator how price validity check should be performed by the exchange.
OrderOrigination::Enum orderOrigination
Order origination, MiFID field - to indicate order received from a direct access or sponsored access ...
CustOrderHandlingInst::Enum custOrderHandlingInst
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
PriceValidityCheckType::Enum priceValidityCheckType
Indicator how price validity check should be performed by the exchange.
std::string partyEndClientIdentification
End client identifier.
signed int SInt32
Definition: Defines.h:42
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
std::string partyIdBeneficiary
Mandatory final KRX beneficiary account required for orders in KRX products.
Enum
This field qualifies an instrument type on Eurex.
Enum
Instructions for order handling, represented as a bit map.
Definition: Enumerations.h:391
SInt64 securityId
The instrument identifier uniquely identifies an instrument in the core system.
Message base class.
Definition: Message.h:33
Enum
Order origination, MiFID field - to indicate order received from a direct access or sponsored access ...
std::string partyIdTakeUpTradingFirm
Indicates the name of a member institution to which a give-up is designated.
std::string freeText3
Third 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
UInt64 clOrdId
Unique participant defined order request identifier.
TimeInForce::Enum timeInForce
Execution and trading restriction parameters supported by Eurex.
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.
unsigned int UInt32
Definition: Defines.h:46
std::string partyIdLocationId
Country code. Valid characters: 0x01-0x7E.
signed long long SInt64
Definition: Defines.h:43
OrderAttributeLiquidityProvision::Enum orderAttributeLiquidityProvision
Order attribute liquidity provision.
OrderAttributeRiskReduction::Enum orderAttributeRiskReduction
Order attribute risk reduction.
UInt32 matchInstCrossId
Self Match Prevention ID.
Enum
Indicator for checking the maximum order/quote value by the exchange.
ExecutingTraderQualifier::Enum executingTraderQualifier
Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos...
UInt64 executingTrader
Executing Trader data Field (ESMA Field 5 (Section A)) used to identify the person or algorithm withi...
TradingCapacity::Enum tradingCapacity
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
ProductComplex::Enum productComplex
This field qualifies an instrument type on Eurex.
UInt64 partyIdInvestmentDecisionMaker
Investment decision within firm (ESMA Field 4 (Section A)) is the code used to identify the person or...
std::ostream & operator<<(std::ostream &, const ConnectionStateChange &)
Make it printable to formatted C++ I/O streams.
std::string complianceText
This field is used to provide additional regulatory information (according to respective rules and re...
std::string partyIdPositionAccount
Flex Account information.
Enum
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
std::string freeText1
First free-format text field for trader-specific or customer-related comments.
PartyIdInvestmentDecisionMakerQualifier::Enum partyIdInvestmentDecisionMakerQualifier
Party ID investment decision maker qualifier.
std::string fixClOrdId
User defined client order ID.
std::string partyIdOrderOriginationFirm
Partner identification at the Korea Exchange is required for orders in KRX products.
Enum
Execution and trading restriction parameters supported by Eurex.
ValueCheckTypeValue::Enum valueCheckTypeValue
Indicator for checking the maximum order/quote value by the exchange.
Enum
Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos...
Definition: Enumerations.h:473
SelfMatchPreventionInstruction::Enum selfMatchPreventionInstruction
Indicate the instruction for SMP. If MatchInstCrossID (28744) is set then the default value for SelfM...