OnixS Eurex ETI Handler C++ library  9.21.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
13  * part of this source code or associated reference material to any other location for further
14  * reproduction or redistribution, and any amendments to this copyright notice, are expressly
15  * prohibited.
16  *
17  * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
18  * the terms of the Agreement is a violation of copyright law.
19  */
20 
21 #pragma once
22 
25 #include "OnixS/Eurex/Trading/Export.h"
29 
30 #include <iosfwd>
31 #include <string>
32 #include <vector>
33 
34 namespace OnixS { namespace Eurex { namespace Trading {
35 
36 /// Modify Order Request Message.
37 class ONIXS_EUREX_ETI_EXPORT ModifyOrderRequest : public Message
38 {
39 public:
40  /// Initialize default instance.
42 
43  /// User ID.
45 
46  /// Exchange Order ID generated by Eurex System; it remains constant over the lifetime of an order.
48 
49  /// Unique participant defined order request identifier.
51 
52  /// ClOrdID (11) of the last successfully processed task (request) referring to the specific order; used for client
53  /// 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
60  /// the member or participant of the trading venue.
62 
63  /// Executing Trader data Field (ESMA Field 5 (Section A)) used to identify the person or algorithm within the
64  /// member or participant of the trading venue who is responsible for the execution of the transaction resulting
65  /// from the order.
67 
68  /// Self Match Prevention ID.
70 
71  /// Date of order expiry.
73 
74  /// Owning Session ID.
76 
77  /// Marks a a certain order as a closing auction one.
79 
80  /// Ownership indicator.
82 
83  /// Indicates if the order is a Lean Order or a Standard (non lean) Order.
85 
86  /// Order type.
88 
89  /// Indicator how price validity check should be performed by the exchange.
91 
92  /// Indicator for checking the maximum order/quote value by the exchange.
94 
95  /// Order origination, MiFID field - to indicate order received from a direct access or sponsored access customer.
97 
98  /// Indicates the name of a member institution to which a give-up is designated.
100 
101  /// Partner identification at the Korea Exchange is required for orders in KRX products.
103 
104  /// Mandatory final KRX beneficiary account required for orders in KRX products.
105  std::string partyIdBeneficiary;
106 
107  /// Account to book trades and keep positions on.
108  std::string account;
109 
110  /// Flex Account information.
112 
113  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or
114  /// close a position.
116 
117  /// Country code. Valid characters: 0x01-0x7E.
118  std::string partyIdLocationId;
119 
120  /// Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier. The field is for
121  /// participant use only. Valid characters: 0x20, 0x22-0x7B, 0x7D, 0x7E.
123 
124  /// This field is used to provide additional regulatory information (according to respective rules and regs,
125  /// circulars and bilateral coordination between participant and Trading Surveillance Office).
126  std::string complianceText;
127 
128  /// First free-format text field for trader-specific or customer-related comments.
129  std::string freeText1;
130 
131  /// Second free-format text field for trader-specific or customer-related comments.
132  std::string freeText2;
133 
134  /// Third free-format text field for trader-specific or customer-related comments.
135  std::string freeText3;
136 
137  /// User defined client order ID.
138  std::string fixClOrdId;
139 
140  /// End client identifier.
142 
143  /// Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos.
145 
146  /// Party ID investment decision maker qualifier.
148 
149  /// Investment decision within firm (ESMA Field 4 (Section A)) is the code used to identify the person or the
150  /// algorithm within the member or participant of the Trading Venue who is responsible for the investment decision.
152 
153  /// Order attribute liquidity provision.
155 
156  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as
157  /// a market maker.
159 
160  /// This field qualifies an instrument type on Eurex.
162 
163  /// Indicate the instruction for SMP. If MatchInstCrossID (28744) is set then the default value for
164  /// SelfMatchPreventionInstruction is 100 (Reject cross on business unit level).
166 
167  /// The product identifier uniquely identifies a Eurex product.
169 
170  /// The instrument identifier uniquely identifies an instrument in the core system.
172 
173  /// Total Order Quantity.
175 
176  /// Price.
178 
179  /// Side of the order.
181 
182  /// Instructions for order handling, represented as a bit map.
184 
185  /// Execution and trading restriction parameters supported by Eurex.
187 
188  /// CheckSum correction.
190 
191  /// Leg Ord Group.
192  std::vector<LegOrdGrpElem> legOrdGrp;
193 
194  /// Returns template ID.
195  TemplateId::Enum templateId() const;
196 
197  /// Returns string representation.
198  std::string toString() const;
199 
200 private:
201  friend class Serializer;
202  ModifyOrderRequest(const void* data, size_t dataSize, MessageInfo& msgInfo);
203  void nativeSerializeTo(void* nativeMessage);
204 };
205 
206 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const ModifyOrderRequest&);
207 
208 }}} // namespace OnixS::Eurex::Trading
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:94
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
Side of the order.
UInt32 targetPartyIdSessionId
Owning Session ID.
unsigned long long UInt64
Definition: Defines.h:46
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
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:41
Enum
This field qualifies an instrument type on Eurex.
std::string account
Account to book trades and keep positions on.
Enum
Instructions for order handling, represented as a bit map.
Definition: Enumerations.h:460
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:32
Enum
Order origination, MiFID field - to indicate order received from a direct access or sponsored access ...
SelfMatchPreventionInstruction::Enum selfMatchPreventionInstruction
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:45
signed long long SInt64
Definition: Defines.h:42
ApplSeqIndicator::Enum applSeqIndicator
Indicates if the order is a Lean Order or a Standard (non lean) Order.
std::ostream & operator<<(std::ostream &, ConnectionState::Enum)
Make it printable using C++ I/O streams.
OwnershipIndicator::Enum ownershipIndicator
Ownership indicator.
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.
UInt32 matchInstCrossId
Self Match Prevention ID.
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.
std::string partyIdPositionAccount
Flex Account information.
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:44
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:551