OnixS C++ CBOE CFE Binary Order Entry (BOE) Handler  1.11.0
API documentation
ConstantNewOrderV2.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 
30 namespace OnixS {
31 namespace CboeCFE {
32 namespace Trading {
33 namespace BOE {
34 namespace Testing {
35 
36  /// New Order US Futures V2
37  struct ONIXS_CBOE_CFE_BOE_API ConstantNewOrderV2 : public BinaryMessage
38  {
39  /// Unique Id chosen by the client.
40  StrRef clOrdId() const
41  {
42  return fixedStr<20>(0);
43  }
44 
45  /// Side
46  Side::Enum side() const
47  {
48  return enumeration<Side>(20);
49  }
50 
51  /// Order quantity. System limit is 999,999 contracts.
52  Binary4 orderQty() const
53  {
54  return ordinary<Binary4>(21);
55  }
56 
57  /// EFID that will clear the trade.
59  {
60  return fixedStr<4>(25);
61  }
62 
63  /// Supplemental identifier.
65  {
66  return fixedStr<4>(29);
67  }
68 
69  /// Limit price. Four implied decimal places.
71  {
72  return ordinary<BinaryPrice>(33);
73  }
74 
75  /// Order type
77  {
78  return enumeration<OrdType>(41);
79  }
80 
81  /// Time In Force
83  {
84  return enumeration<TimeInForce>(42);
85  }
86 
87  /// Minimum fill quantity for IOC orders.
88  Binary4 minQty() const
89  {
90  return ordinary<Binary4>(43);
91  }
92 
93  /// Symbol
94  StrRef symbol() const
95  {
96  return fixedStr<8>(47);
97  }
98 
99  /// The Capacity refers to the OCC account type.
101  {
102  return enumeration<Capacity>(55);
103  }
104 
105  /// Unique account identifier associated with an order.
106  StrRef account() const
107  {
108  return fixedStr<16>(56);
109  }
110 
111  /// Prevent match
113  {
114  return fixedStr<3>(72);
115  }
116 
117  /// Required for TimeInForce = 6 orders, specifies the date-time (in UTC) that the order expires.
119  {
120  return ordinary<DateTime>(75);
121  }
122 
123  /// When specifying the Symbol for a New Order message the user can specify the mapped symbol identifier in the Symbol field.
125  {
126  return ordinary<Date>(83);
127  }
128 
129  /// Indicates status of client position in a trade resulting from the order.
131  {
132  return enumeration<OpenClose>(87);
133  }
134 
135  /// CMTA Number of the firm that will clear the trade.
137  {
138  return ordinary<Binary4>(88);
139  }
140 
141  /// Stop price.
143  {
144  return ordinary<BinaryPrice>(92);
145  }
146 
147  /// Used to group orders for use in mass cancels where multiple orders can be cancelled by specifying a list of CustomGroupIds.
149  {
150  return ordinary<Binary2>(100);
151  }
152 
153  /// Cti Code
155  {
156  return enumeration<CtiCode>(102);
157  }
158 
159  /// Manual order indicator.
161  {
162  return enumeration<ManualOrderIndicator>(103);
163  }
164 
165  /// Identifies the Order Entry Operator responsible for this message.
166  StrRef oEOID() const
167  {
168  return fixedStr<18>(104);
169  }
170 
171  /// Supplemental customer identifier used for billing related programs.
173  {
174  return fixedStr<6>(122);
175  }
176 
177  /// Execution source code provided during order entry to describe broker service.
179  {
180  return enumeration<CustOrderHandlingInst>(128);
181  }
182 
183  /// Identifies the country code of the person or system submitting the order.
185  {
186  return fixedStr<2>(129);
187  }
188 
189  static MessageType::Enum type() ONIXS_BATS_BOE_NOEXCEPT { return MessageType::NewOrderV2; };
190 
191  ///
192  ConstantNewOrderV2() ONIXS_BATS_BOE_NOEXCEPT
193  : BinaryMessage()
194  {
195  }
196 
197  /// Initializes instance over given memory block.
198  ConstantNewOrderV2(const void* data, MessageSize size)
199  : BinaryMessage(data, size)
200  {
201  }
202  };
203 
204  /// Serializes object into string.
205  ONIXS_CBOE_CFE_BOE_API void toStr(std::string&, const ConstantNewOrderV2&);
206 
207  /// Serializes object into string.
208  inline std::string toStr(const ConstantNewOrderV2& msg)
209  {
210  std::string str;
211  toStr(str, msg);
212  return str;
213  }
214 
215 }
216 }
217 }
218 }
219 }
Capacity::Enum capacity() const
The Capacity refers to the OCC account type.
StrRef clearingAccount() const
Supplemental identifier.
Binary2 customGroupId() const
Used to group orders for use in mass cancels where multiple orders can be cancelled by specifying a l...
CustOrderHandlingInst::Enum custOrderHandlingInst() const
Execution source code provided during order entry to describe broker service.
StrRef account() const
Unique account identifier associated with an order.
Provides efficient way of accessing text-based field values.
Definition: String.h:45
Encapsulates services for manipulating little endian encoded messages.
Binary4 orderQty() const
Order quantity. System limit is 999,999 contracts.
BinaryPrice price() const
Limit price. Four implied decimal places.
Binary4 cMTANumber() const
CMTA Number of the firm that will clear the trade.
Binary2 MessageSize
Aliases message length type.
StrRef frequentTraderId() const
Supplemental customer identifier used for billing related programs.
static MessageType::Enum type() ONIXS_BATS_BOE_NOEXCEPT
StrRef clearingFirm() const
EFID that will clear the trade.
Binary4 minQty() const
Minimum fill quantity for IOC orders.
StrRef clOrdId() const
Unique Id chosen by the client.
ManualOrderIndicator::Enum manualOrderIndicator() const
Manual order indicator.
OpenClose::Enum openClose() const
Indicates status of client position in a trade resulting from the order.
ConstantNewOrderV2(const void *data, MessageSize size)
Initializes instance over given memory block.
StrRef oEOID() const
Identifies the Order Entry Operator responsible for this message.
ONIXS_CBOE_CFE_BOE_API void toStr(std::string &, const ConstantNewOrderV2 &)
Serializes object into string.
DateTime expireTime() const
Required for TimeInForce = 6 orders, specifies the date-time (in UTC) that the order expires...
Date maturityDate() const
When specifying the Symbol for a New Order message the user can specify the mapped symbol identifier ...
TimeInForce::Enum timeInForce() const
Time In Force.
StrRef countryCode() const
Identifies the country code of the person or system submitting the order.