OnixS Eurex ETI Handler C++ library  9.19.0
API documentation
NewOrderSingleRequest.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 
31 namespace OnixS {
32 namespace Eurex {
33 namespace Trading {
34 
35 /// New Order Single Request Message.
36 class ONIXS_EUREX_ETI_EXPORT NewOrderSingleRequest : public Message
37 {
38 public:
39  /// Initialize default instance.
41 
42  /// User ID.
44 
45  /// Price.
47 
48  /// Total Order Quantity.
50 
51  /// Stop price.
53 
54  /// Unique participant defined order request identifier.
56 
57  /// The instrument identifier uniquely identifies an instrument in the core system.
59 
60  /// 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.
62 
63  /// 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.
65 
66  /// 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.
68 
69  /// Date of order expiry.
71 
72  /// The product identifier uniquely identifies a Eurex product.
74 
75  /// Self Match Prevention ID.
77 
78  /// Indicate the instruction for SMP. If MatchInstCrossID (28744) is set then the default value for SelfMatchPreventionInstruction is 100 (Reject cross on business unit level).
80 
81  /// Indicates the name of a member institution to which a give-up is designated.
83 
84  /// Partner identification at the Korea Exchange is required for orders in KRX products.
86 
87  /// Mandatory final KRX beneficiary account required for orders in KRX products.
88  std::string partyIdBeneficiary;
89 
90  /// Indicates if the order is a Lean Order or a Standard (non lean) Order.
92 
93  /// This field qualifies an instrument type on Eurex.
95 
96  /// Side of the order.
98 
99  /// Order type.
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  /// Execution and trading restriction parameters supported by Eurex.
116 
117  /// Instructions for order handling, represented as a bit map.
119 
120  /// Marks a a certain order as a closing auction one.
122 
123  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as a market maker.
125 
126  /// Order origination, MiFID field - to indicate order received from a direct access or sponsored access customer.
128 
129  /// Party ID investment decision maker qualifier.
131 
132  /// Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos.
134 
135  /// Account to book trades and keep positions on.
136  std::string account;
137 
138  /// Flex Account information.
140 
141  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or close a position.
143 
144  /// Country code. Valid characters: 0x01-0x7E.
145  std::string partyIdLocationId;
146 
147  /// 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.
149 
150  /// 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).
151  std::string complianceText;
152 
153  /// First free-format text field for trader-specific or customer-related comments.
154  std::string freeText1;
155 
156  /// Second free-format text field for trader-specific or customer-related comments.
157  std::string freeText2;
158 
159  /// Third free-format text field for trader-specific or customer-related comments.
160  std::string freeText3;
161 
162  /// User defined client order ID.
163  std::string fixClOrdId;
164 
165  /// End client identifier.
167 
168  /// Returns template ID.
169  TemplateId::Enum templateId () const;
170 
171  /// Returns string representation.
172  std::string toString () const;
173 
174 private:
175  friend class Serializer;
176  NewOrderSingleRequest (const void* data, size_t dataSize, MessageInfo& msgInfo);
177  void nativeSerializeTo (void* nativeMessage);
178 };
179 
180 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const NewOrderSingleRequest&);
181 
182 }
183 }
184 }
Enum
Party ID investment decision maker qualifier.
TimeInForce::Enum timeInForce
Execution and trading restriction parameters supported by Eurex.
Enum
Indicates if the order is a Lean Order or a Standard (non lean) Order.
Definition: Enumerations.h:86
std::string fixClOrdId
User defined client order ID.
OrderOrigination::Enum orderOrigination
Order origination, MiFID field - to indicate order received from a direct access or sponsored access ...
OrderAttributeLiquidityProvision::Enum orderAttributeLiquidityProvision
Order attribute liquidity provision.
std::string account
Account to book trades and keep positions on.
Enum
Indicate the instruction for SMP. If MatchInstCrossID (28744) is set then the default value for SelfM...
UInt64 clOrdId
Unique participant defined order request identifier.
Enum
Side of the order.
ValueCheckTypeValue::Enum valueCheckTypeValue
Indicator for checking the maximum order/quote value by the exchange.
UInt64 partyIdInvestmentDecisionMaker
Investment decision within firm (ESMA Field 4 (Section A)) is the code used to identify the person or...
unsigned long long UInt64
Definition: Defines.h:47
Enum
Indicator how price validity check should be performed by the exchange.
PositionEffect::Enum positionEffect
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
ProductComplex::Enum productComplex
This field qualifies an instrument type on Eurex.
Enum
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
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
std::string freeText1
First free-format text field for trader-specific or customer-related comments.
ApplSeqIndicator::Enum applSeqIndicator
Indicates if the order is a Lean Order or a Standard (non lean) Order.
std::string partyEndClientIdentification
End client identifier.
TradingCapacity::Enum tradingCapacity
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
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 partyIdBeneficiary
Mandatory final KRX beneficiary account required for orders in KRX products.
OrderAttributeRiskReduction::Enum orderAttributeRiskReduction
Order attribute risk reduction.
ExecutingTraderQualifier::Enum executingTraderQualifier
Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos...
UInt32 matchInstCrossId
Self Match Prevention ID.
Enum
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
Definition: Enumerations.h:271
std::string partyIdOrderOriginationFirm
Partner identification at the Korea Exchange is required for orders in KRX products.
ExecInst::Enum execInst
Instructions for order handling, represented as a bit map.
TradingSessionSubId::Enum tradingSessionSubId
Marks a a certain order as a closing auction one.
SInt64 securityId
The instrument identifier uniquely identifies an instrument in the core system.
unsigned int UInt32
Definition: Defines.h:46
signed long long SInt64
Definition: Defines.h:43
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
std::string partyIdTakeUpTradingFirm
Indicates the name of a member institution to which a give-up is designated.
std::string partyIdPositionAccount
Flex Account information.
Enum
Indicator for checking the maximum order/quote value by the exchange.
UInt64 partyIdClientId
Client Identifier field (ESMA Field 3 (Section A)) used to identify the client of an order for agent ...
PriceValidityCheckType::Enum priceValidityCheckType
Indicator how price validity check should be performed by the exchange.
std::string freeText3
Third free-format text field for trader-specific or customer-related comments.
std::string freeText2
Second free-format text field for trader-specific or customer-related comments.
std::ostream & operator<<(std::ostream &, const ConnectionStateChange &)
Make it printable to formatted C++ I/O streams.
SelfMatchPreventionInstruction::Enum selfMatchPreventionInstruction
Indicate the instruction for SMP. If MatchInstCrossID (28744) is set then the default value for SelfM...
CustOrderHandlingInst::Enum custOrderHandlingInst
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
Enum
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
std::string partyIdLocationId
Country code. Valid characters: 0x01-0x7E.
PartyIdInvestmentDecisionMakerQualifier::Enum partyIdInvestmentDecisionMakerQualifier
Party ID investment decision maker qualifier.
std::string complianceText
This field is used to provide additional regulatory information (according to respective rules and re...
Enum
Marks a a certain order as a closing auction one.
Enum
Execution and trading restriction parameters supported by Eurex.
Enum
Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos...
Definition: Enumerations.h:473
UInt64 executingTrader
Executing Trader data Field (ESMA Field 5 (Section A)) used to identify the person or algorithm withi...