OnixS Eurex ETI Handler C++ library  9.19.0
API documentation
ModifyOrderRequest.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 /// Modify Order Request Message.
38 class ONIXS_EUREX_ETI_EXPORT ModifyOrderRequest : public Message
39 {
40 public:
41  /// Initialize default instance.
43 
44  /// User ID.
46 
47  /// Exchange Order ID generated by Eurex System; it remains constant over the lifetime of an order.
49 
50  /// Unique participant defined order request identifier.
52 
53  /// ClOrdID (11) of the last successfully processed task (request) referring to the specific order; used for client order ID chaining.
55 
56  /// Stop price.
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  /// 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.
64 
65  /// Self Match Prevention ID.
67 
68  /// Date of order expiry.
70 
71  /// Owning Session ID.
73 
74  /// Marks a a certain order as a closing auction one.
76 
77  /// Ownership indicator.
79 
80  /// Indicates if the order is a Lean Order or a Standard (non lean) Order.
82 
83  /// Order type.
85 
86  /// Indicator how price validity check should be performed by the exchange.
88 
89  /// Indicator for checking the maximum order/quote value by the exchange.
91 
92  /// Order origination, MiFID field - to indicate order received from a direct access or sponsored access customer.
94 
95  /// Indicates the name of a member institution to which a give-up is designated.
97 
98  /// Partner identification at the Korea Exchange is required for orders in KRX products.
100 
101  /// Mandatory final KRX beneficiary account required for orders in KRX products.
102  std::string partyIdBeneficiary;
103 
104  /// Account to book trades and keep positions on.
105  std::string account;
106 
107  /// Flex Account information.
109 
110  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or close a position.
112 
113  /// Country code. Valid characters: 0x01-0x7E.
114  std::string partyIdLocationId;
115 
116  /// 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.
118 
119  /// 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).
120  std::string complianceText;
121 
122  /// First free-format text field for trader-specific or customer-related comments.
123  std::string freeText1;
124 
125  /// Second free-format text field for trader-specific or customer-related comments.
126  std::string freeText2;
127 
128  /// Third free-format text field for trader-specific or customer-related comments.
129  std::string freeText3;
130 
131  /// User defined client order ID.
132  std::string fixClOrdId;
133 
134  /// End client identifier.
136 
137  /// Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos.
139 
140  /// Party ID investment decision maker qualifier.
142 
143  /// 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.
145 
146  /// Order attribute liquidity provision.
148 
149  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as a market maker.
151 
152  /// This field qualifies an instrument type on Eurex.
154 
155  /// Indicate the instruction for SMP. If MatchInstCrossID (28744) is set then the default value for SelfMatchPreventionInstruction is 100 (Reject cross on business unit level).
157 
158  /// The product identifier uniquely identifies a Eurex product.
160 
161  /// The instrument identifier uniquely identifies an instrument in the core system.
163 
164  /// Total Order Quantity.
166 
167  /// Price.
169 
170  /// Side of the order.
172 
173  /// Instructions for order handling, represented as a bit map.
175 
176  /// Execution and trading restriction parameters supported by Eurex.
178 
179  /// CheckSum correction.
181 
182  /// Leg Ord Group.
183  std::vector<LegOrdGrpElem> legOrdGrp;
184 
185  /// Returns template ID.
186  TemplateId::Enum templateId () const;
187 
188  /// Returns string representation.
189  std::string toString () const;
190 
191 private:
192  friend class Serializer;
193  ModifyOrderRequest (const void* data, size_t dataSize, MessageInfo& msgInfo);
194  void nativeSerializeTo (void* nativeMessage);
195 };
196 
197 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const ModifyOrderRequest&);
198 
199 }
200 }
201 }
UInt64 origClOrdId
ClOrdID (11) of the last successfully processed task (request) referring to the specific order; used ...
Enum
Party ID investment decision maker qualifier.
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
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.
std::string freeText1
First free-format text field for trader-specific or customer-related comments.
UInt16 checkSumCorrection
CheckSum correction.
TradingSessionSubId::Enum tradingSessionSubId
Marks a a certain order as a closing auction one.
PartyIdInvestmentDecisionMakerQualifier::Enum partyIdInvestmentDecisionMakerQualifier
Party ID investment decision maker qualifier.
Enum
Indicate the instruction for SMP. If MatchInstCrossID (28744) is set then the default value for SelfM...
Enum
Side of the order.
UInt32 targetPartyIdSessionId
Owning Session ID.
unsigned long long UInt64
Definition: Defines.h:47
Enum
Indicator how price validity check should be performed by the exchange.
std::string partyIdBeneficiary
Mandatory final KRX beneficiary account required for orders in KRX products.
std::vector< LegOrdGrpElem > legOrdGrp
Leg Ord Group.
std::string partyEndClientIdentification
End client identifier.
ProductComplex::Enum productComplex
This field qualifies an instrument type on Eurex.
CustOrderHandlingInst::Enum custOrderHandlingInst
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
Enum
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
SInt64 securityId
The instrument identifier uniquely identifies an instrument in the core system.
OrderOrigination::Enum orderOrigination
Order origination, MiFID field - to indicate order received from a direct access or sponsored access ...
signed int SInt32
Definition: Defines.h:42
Enum
This field qualifies an instrument type on 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 account
Account to book trades and keep positions on.
Enum
Instructions for order handling, represented as a bit map.
Definition: Enumerations.h:391
std::string freeText3
Third free-format text field for trader-specific or customer-related comments.
PriceValidityCheckType::Enum priceValidityCheckType
Indicator how price validity check should be performed by the exchange.
Message base class.
Definition: Message.h:33
Enum
Order origination, MiFID field - to indicate order received from a direct access or sponsored access ...
UInt64 partyIdClientId
Client Identifier field (ESMA Field 3 (Section A)) used to identify the client of an order for agent ...
SelfMatchPreventionInstruction::Enum selfMatchPreventionInstruction
Indicate the instruction for SMP. If MatchInstCrossID (28744) is set then the default value for SelfM...
Enum
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
Definition: Enumerations.h:271
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
signed long long SInt64
Definition: Defines.h:43
ApplSeqIndicator::Enum applSeqIndicator
Indicates if the order is a Lean Order or a Standard (non lean) Order.
OwnershipIndicator::Enum ownershipIndicator
Ownership indicator.
UInt64 executingTrader
Executing Trader data Field (ESMA Field 5 (Section A)) used to identify the person or algorithm withi...
std::string partyIdTakeUpTradingFirm
Indicates the name of a member institution to which a give-up is designated.
Enum
Indicator for checking the maximum order/quote value by the exchange.
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...
std::string complianceText
This field is used to provide additional regulatory information (according to respective rules and re...
UInt32 matchInstCrossId
Self Match Prevention ID.
std::ostream & operator<<(std::ostream &, const ConnectionStateChange &)
Make it printable to formatted C++ I/O streams.
TimeInForce::Enum timeInForce
Execution and trading restriction parameters supported by Eurex.
UInt64 clOrdId
Unique participant defined order request identifier.
OrderAttributeLiquidityProvision::Enum orderAttributeLiquidityProvision
Order attribute liquidity provision.
PositionEffect::Enum positionEffect
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
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 partyIdOrderOriginationFirm
Partner identification at the Korea Exchange is required for orders in KRX products.
UInt32 expireDate
Date of order expiry.
unsigned short UInt16
Definition: Defines.h:45
UInt64 orderId
Exchange Order ID generated by Eurex System; it remains constant over the lifetime of an order...
ExecutingTraderQualifier::Enum executingTraderQualifier
Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos...
std::string partyIdLocationId
Country code. Valid characters: 0x01-0x7E.
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