OnixS C++ CBOE CFE Binary Order Entry (BOE) Handler  1.11.0
API documentation
QuoteExecution.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 
35  /// A Quote Execution message is used to indicate an execution has occurred on a resting quote.
36  struct ONIXS_CBOE_CFE_BOE_API QuoteExecution : public BinaryMessage
37  {
38  /// The time the event occurred in the CFE Matching Engine (not the time the message was sent).
40  {
41  return ordinary<DateTime>(0);
42  }
43 
44  /// Echoed back from the most recent Quote Update request for this quote.
46  {
47  return fixedStr<16>(8);
48  }
49 
50  /// Order identifier supplied by CFE.
51  Binary8 orderId() const
52  {
53  return ordinary<Binary8>(24);
54  }
55 
56  /// Sent to the OCC in the Trade Id field.
57  Binary8 execId() const
58  {
59  return ordinary<Binary8>(32);
60  }
61 
62  /// Echoed back from the TPH message
64  {
65  return fixedStr<6>(40);
66  }
67 
68  /// EFID that will clear the trade.
70  {
71  return fixedStr<4>(46);
72  }
73 
74  /// Executed contracts quantity.
76  {
77  return ordinary<Binary4>(50);
78  }
79 
80  /// Price of this fill.
82  {
83  return ordinary<BinaryPrice>(54);
84  }
85 
86  /// Quantity still open for further execution.
88  {
89  return ordinary<Binary4>(62);
90  }
91 
92  /// Side
93  Side::Enum side() const
94  {
95  return enumeration<Side>(66);
96  }
97 
98  /// Indicates whether the trade added or removed liquidity.
100  {
101  return enumeration<BaseLiquidityIndicator>(67);
102  }
103 
104  /// Additional information about the liquidity of an order.
106  {
107  return enumeration<SubLiquidityIndicator>(68);
108  }
109 
110  /// Indicates fee associated with an execution.
111  StrRef feeCode() const
112  {
113  return fixedStr<2>(69);
114  }
115 
116  /// Initializes instance over given memory block.
117  QuoteExecution(const void* data, MessageSize size)
118  : BinaryMessage(data, size)
119  {
120  }
121  };
122 
123  /// Serializes object into string.
124  ONIXS_CBOE_CFE_BOE_API void toStr(std::string&, const QuoteExecution&);
125 
126  /// Serializes object into string.
127  inline std::string toStr(const QuoteExecution& msg)
128  {
129  std::string str;
130  toStr(str, msg);
131  return str;
132  }
133 
134 }
135 }
136 }
137 }
Binary4 lastShares() const
Executed contracts quantity.
SubLiquidityIndicator::Enum subLiquidityIndicator() const
Additional information about the liquidity of an order.
Binary4 leavesQty() const
Quantity still open for further execution.
Provides efficient way of accessing text-based field values.
Definition: String.h:45
StrRef quoteUpdateId() const
Echoed back from the most recent Quote Update request for this quote.
Encapsulates services for manipulating little endian encoded messages.
void toStr(std::string &str, const FixedPointDecimal< Mantissa, Exponent > &number)
Serializes fixed-point decimal into a string.
Definition: Decimal.h:156
Binary2 MessageSize
Aliases message length type.
BinaryPrice lastPx() const
Price of this fill.
DateTime transactionTime() const
The time the event occurred in the CFE Matching Engine (not the time the message was sent)...
StrRef clearingFirm() const
EFID that will clear the trade.
Binary8 execId() const
Sent to the OCC in the Trade Id field.
Binary8 orderId() const
Order identifier supplied by CFE.
StrRef feeCode() const
Indicates fee associated with an execution.
QuoteExecution(const void *data, MessageSize size)
Initializes instance over given memory block.
StrRef quoteSymbol() const
Echoed back from the TPH message.
BaseLiquidityIndicator::Enum baseLiquidityIndicator() const
Indicates whether the trade added or removed liquidity.
A Quote Execution message is used to indicate an execution has occurred on a resting quote...