OnixS C++ CBOE CFE Binary Order Entry (BOE) Handler 1.12.0
API documentation
Loading...
Searching...
No Matches
NewOrderV2.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 <vector>
23
28
29
30namespace OnixS {
31namespace CboeCFE {
32namespace Trading {
33namespace BOE {
34
36 struct ONIXS_CBOE_CFE_BOE_API NewOrderV2 : public OutgoingMessage
37 {
40 {
41 return clOrdId_;
42 }
43
45 void clOrdId(StrRef value)
46 {
47 clOrdId_ = value;
48 }
49
52 {
53 return side_;
54 }
55
57 void side(Side::Enum value)
58 {
59 side_ = value;
60 }
61
64 {
65 return orderQty_;
66 }
67
69 void orderQty(Binary4 value)
70 {
71 orderQty_ = value;
72 }
73
76 {
77 return clearingFirm_;
78 }
79
81 void clearingFirm(StrRef value)
82 {
83 clearingFirm_ = value;
84 }
85
88 {
89 return clearingAccount_;
90 }
91
94 {
95 clearingAccount_ = value;
96 }
97
100 {
101 return price_;
102 }
103
105 void price(BinaryPrice value)
106 {
107 price_ = value;
108 }
109
112 {
113 return ordType_;
114 }
115
118 {
119 ordType_ = value;
120 }
121
124 {
125 return timeInForce_;
126 }
127
130 {
131 timeInForce_ = value;
132 }
133
136 {
137 return minQty_;
138 }
139
141 void minQty(Binary4 value)
142 {
143 minQty_ = value;
144 }
145
148 {
149 return symbol_;
150 }
151
153 void symbol(StrRef value)
154 {
155 symbol_ = value;
156 }
157
160 {
161 return capacity_;
162 }
163
166 {
167 capacity_ = value;
168 }
169
172 {
173 return account_;
174 }
175
177 void account(StrRef value)
178 {
179 account_ = value;
180 }
181
184 {
185 return preventMatch_;
186 }
187
190 {
191 preventMatch_ = value;
192 }
193
196 {
197 return expireTime_;
198 }
199
202 {
203 expireTime_ = value;
204 }
205
208 {
209 return maturityDate_;
210 }
211
213 void maturityDate(Date value)
214 {
215 maturityDate_ = value;
216 }
217
220 {
221 return openClose_;
222 }
223
226 {
227 openClose_ = value;
228 }
229
232 {
233 return cMTANumber_;
234 }
235
237 void cMTANumber(Binary4 value)
238 {
239 cMTANumber_ = value;
240 }
241
244 {
245 return stopPx_;
246 }
247
249 void stopPx(BinaryPrice value)
250 {
251 stopPx_ = value;
252 }
253
256 {
257 return customGroupId_;
258 }
259
262 {
263 customGroupId_ = value;
264 }
265
268 {
269 return ctiCode_;
270 }
271
274 {
275 ctiCode_ = value;
276 }
277
280 {
281 return manualOrderIndicator_;
282 }
283
286 {
287 manualOrderIndicator_ = value;
288 }
289
291 StrRef oEOID() const
292 {
293 return oEOID_;
294 }
295
297 void oEOID(StrRef value)
298 {
299 oEOID_ = value;
300 }
301
304 {
305 return frequentTraderId_;
306 }
307
310 {
311 frequentTraderId_ = value;
312 }
313
316 {
317 return custOrderHandlingInst_;
318 }
319
322 {
323 custOrderHandlingInst_ = value;
324 }
325
328 {
329 return countryCode_;
330 }
331
333 void countryCode(StrRef value)
334 {
335 countryCode_ = value;
336 }
337
339 MessageType::Enum type() const ONIXS_BATS_BOE_NOEXCEPT ONIXS_BATS_BOE_OVERRIDE { return MessageType::NewOrderV2; };
340
343 void validate() const ONIXS_BATS_BOE_OVERRIDE;
344
346 std::string toString() const ONIXS_BATS_BOE_OVERRIDE;
347
349 void toString(std::string& str) const ONIXS_BATS_BOE_OVERRIDE;
350
351 private:
352 size_t serializeTo(unsigned char*) const ONIXS_BATS_BOE_NOEXCEPT ONIXS_BATS_BOE_OVERRIDE;
353
354 Text<20> clOrdId_;
355 Side::Enum side_;
356 Binary4 orderQty_;
357 Alpha<4> clearingFirm_;
358 Alpha<4> clearingAccount_;
359 BinaryPrice price_;
360 OrdType::Enum ordType_;
361 TimeInForce::Enum timeInForce_;
362 Binary4 minQty_;
363 Alphanumeric<8> symbol_;
364 Capacity::Enum capacity_;
365 Text<16> account_;
366 Text<3> preventMatch_;
367 DateTime expireTime_;
368 Date maturityDate_;
369 OpenClose::Enum openClose_;
370 Binary4 cMTANumber_;
371 BinaryPrice stopPx_;
372 Binary2 customGroupId_;
373 CtiCode::Enum ctiCode_;
374 ManualOrderIndicator::Enum manualOrderIndicator_;
375 Text<18> oEOID_;
376 Alphanumeric<6> frequentTraderId_;
377 CustOrderHandlingInst::Enum custOrderHandlingInst_;
378 Text<2> countryCode_;
379 };
380
382 ONIXS_CBOE_CFE_BOE_API void toStr(std::string&, const NewOrderV2&);
383
385 inline std::string toStr(const NewOrderV2& msg)
386 {
387 std::string str;
388 toStr(str, msg);
389 return str;
390 }
391
392}
393}
394}
395}
#define ONIXS_BATS_BOE_NOEXCEPT
Definition ABI.h:49
Provides efficient way of accessing text-based field values.
Definition String.h:46
FixedPointDecimal< Int64, IntegralConstant< Int8, -4 > > BinaryPrice
Binary Price.
Definition Defines.h:184
void toStr(std::string &str, const FixedPointDecimal< Mantissa, Exponent > &number)
Serializes fixed-point decimal into a string.
Definition Decimal.h:156
Execution source code provided during order entry to describe broker service.
void orderQty(Binary4 value)
Order quantity. System limit is 999,999 contracts.
Definition NewOrderV2.h:69
std::string toString() const ONIXS_BATS_BOE_OVERRIDE
Returns the text representation.
TimeInForce::Enum timeInForce() const
Time In Force.
Definition NewOrderV2.h:123
void customGroupId(Binary2 value)
Used to group orders for use in mass cancels where multiple orders can be cancelled by specifying a l...
Definition NewOrderV2.h:261
void capacity(Capacity::Enum value)
The Capacity refers to the OCC account type.
Definition NewOrderV2.h:165
void clOrdId(StrRef value)
Unique Id chosen by the client.
Definition NewOrderV2.h:45
void price(BinaryPrice value)
Limit price. Four implied decimal places.
Definition NewOrderV2.h:105
void clearingFirm(StrRef value)
EFID that will clear the trade.
Definition NewOrderV2.h:81
void ordType(OrdType::Enum value)
Order type.
Definition NewOrderV2.h:117
void frequentTraderId(StrRef value)
Supplemental customer identifier used for billing related programs.
Definition NewOrderV2.h:309
StrRef clearingAccount() const
Supplemental identifier.
Definition NewOrderV2.h:87
void clearingAccount(StrRef value)
Supplemental identifier.
Definition NewOrderV2.h:93
void openClose(OpenClose::Enum value)
Indicates status of client position in a trade resulting from the order.
Definition NewOrderV2.h:225
Binary4 minQty() const
Minimum fill quantity for IOC orders.
Definition NewOrderV2.h:135
CustOrderHandlingInst::Enum custOrderHandlingInst() const
Execution source code provided during order entry to describe broker service.
Definition NewOrderV2.h:315
StrRef clOrdId() const
Unique Id chosen by the client.
Definition NewOrderV2.h:39
Capacity::Enum capacity() const
The Capacity refers to the OCC account type.
Definition NewOrderV2.h:159
StrRef account() const
Unique account identifier associated with an order.
Definition NewOrderV2.h:171
void account(StrRef value)
Unique account identifier associated with an order.
Definition NewOrderV2.h:177
StrRef countryCode() const
Identifies the country code of the person or system submitting the order.
Definition NewOrderV2.h:327
StrRef oEOID() const
Identifies the Order Entry Operator responsible for this message.
Definition NewOrderV2.h:291
OpenClose::Enum openClose() const
Indicates status of client position in a trade resulting from the order.
Definition NewOrderV2.h:219
BinaryPrice stopPx() const
Stop price.
Definition NewOrderV2.h:243
void countryCode(StrRef value)
Identifies the country code of the person or system submitting the order.
Definition NewOrderV2.h:333
void timeInForce(TimeInForce::Enum value)
Time In Force.
Definition NewOrderV2.h:129
void cMTANumber(Binary4 value)
CMTA Number of the firm that will clear the trade.
Definition NewOrderV2.h:237
BinaryPrice price() const
Limit price. Four implied decimal places.
Definition NewOrderV2.h:99
OrdType::Enum ordType() const
Order type.
Definition NewOrderV2.h:111
void side(Side::Enum value)
Side.
Definition NewOrderV2.h:57
void symbol(StrRef value)
Symbol.
Definition NewOrderV2.h:153
void custOrderHandlingInst(CustOrderHandlingInst::Enum value)
Execution source code provided during order entry to describe broker service.
Definition NewOrderV2.h:321
StrRef frequentTraderId() const
Supplemental customer identifier used for billing related programs.
Definition NewOrderV2.h:303
ManualOrderIndicator::Enum manualOrderIndicator() const
Manual order indicator.
Definition NewOrderV2.h:279
Date maturityDate() const
When specifying the Symbol for a New Order message the user can specify the mapped symbol identifier ...
Definition NewOrderV2.h:207
MessageType::Enum type() const ONIXS_BATS_BOE_NOEXCEPT ONIXS_BATS_BOE_OVERRIDE
Returns message type.
Definition NewOrderV2.h:339
CtiCode::Enum ctiCode() const
Cti Code.
Definition NewOrderV2.h:267
StrRef preventMatch() const
Prevent match.
Definition NewOrderV2.h:183
void expireTime(DateTime value)
Required for TimeInForce = 6 orders, specifies the date-time (in UTC) that the order expires.
Definition NewOrderV2.h:201
void stopPx(BinaryPrice value)
Stop price.
Definition NewOrderV2.h:249
void oEOID(StrRef value)
Identifies the Order Entry Operator responsible for this message.
Definition NewOrderV2.h:297
void preventMatch(StrRef value)
Prevent match.
Definition NewOrderV2.h:189
void validate() const ONIXS_BATS_BOE_OVERRIDE
DateTime expireTime() const
Required for TimeInForce = 6 orders, specifies the date-time (in UTC) that the order expires.
Definition NewOrderV2.h:195
Binary4 orderQty() const
Order quantity. System limit is 999,999 contracts.
Definition NewOrderV2.h:63
void minQty(Binary4 value)
Minimum fill quantity for IOC orders.
Definition NewOrderV2.h:141
StrRef clearingFirm() const
EFID that will clear the trade.
Definition NewOrderV2.h:75
void manualOrderIndicator(ManualOrderIndicator::Enum value)
Manual order indicator.
Definition NewOrderV2.h:285
void ctiCode(CtiCode::Enum value)
Cti Code.
Definition NewOrderV2.h:273
Binary4 cMTANumber() const
CMTA Number of the firm that will clear the trade.
Definition NewOrderV2.h:231
Binary2 customGroupId() const
Used to group orders for use in mass cancels where multiple orders can be cancelled by specifying a l...
Definition NewOrderV2.h:255
void maturityDate(Date value)
When specifying the Symbol for a New Order message the user can specify the mapped symbol identifier ...
Definition NewOrderV2.h:213
Indicates status of client position in a trade resulting from the order.
Base class for outgoing messages.