OnixS C++ CBOE CFE Binary Order Entry (BOE) Handler  1.11.0
API documentation
TradeCancelOrCorrect.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  /// Used to provide notification that a trade has been cancelled (busted) or corrected (price change only).
36  struct ONIXS_CBOE_CFE_BOE_API TradeCancelOrCorrect : 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  /// The order which was executed.
45  StrRef clOrdId() const
46  {
47  return fixedStr<20>(8);
48  }
49 
50  /// Refers to the ExecId of the fill being cancelled or corrected.
52  {
53  return ordinary<Binary8>(28);
54  }
55 
56  /// Side
57  Side::Enum side() const
58  {
59  return enumeration<Side>(36);
60  }
61 
62  /// Indicates whether the trade added or removed liquidity.
64  {
65  return enumeration<BaseLiquidityIndicator>(37);
66  }
67 
68  /// EFID that will clear the trade.
70  {
71  return fixedStr<4>(38);
72  }
73 
74  /// Supplemental identifier.
76  {
77  return fixedStr<4>(42);
78  }
79 
80  /// Executed contracts quantity.
82  {
83  return ordinary<Binary4>(46);
84  }
85 
86  /// Price of this fill.
88  {
89  return ordinary<BinaryPrice>(50);
90  }
91 
92  /// For trade corrections, this is the new trade price.
94  {
95  return ordinary<BinaryPrice>(58);
96  }
97 
98  /// The date and time of the original trade, in GMT.
100  {
101  return ordinary<DateTime>(66);
102  }
103 
104  /// CFE native identifier of the instrument
105  StrRef symbol() const
106  {
107  return fixedStr<8>(74);
108  }
109 
110  ///
112  {
113  return enumeration<Capacity>(82);
114  }
115 
116  /// Maturity date of the instrument
118  {
119  return ordinary<Date>(83);
120  }
121 
122  /// Indic ates status of client position in a trade resulting from the order.
124  {
125  return enumeration<OpenClose>(87);
126  }
127 
128  /// CMTA Number of the firm that will clear the trade.
130  {
131  return ordinary<Binary4>(88);
132  }
133 
134  /// Initializes instance over given memory block.
135  TradeCancelOrCorrect(const void* data, MessageSize size)
136  : BinaryMessage(data, size)
137  {
138  }
139  };
140 
141  /// Serializes object into string.
142  ONIXS_CBOE_CFE_BOE_API void toStr(std::string&, const TradeCancelOrCorrect&);
143 
144  /// Serializes object into string.
145  inline std::string toStr(const TradeCancelOrCorrect& msg)
146  {
147  std::string str;
148  toStr(str, msg);
149  return str;
150  }
151 
152 }
153 }
154 }
155 }
BinaryPrice correctedPrice() const
For trade corrections, this is the new trade price.
BaseLiquidityIndicator::Enum baseLiquidityIndicator() const
Indicates whether the trade added or removed liquidity.
StrRef symbol() const
CFE native identifier of the instrument.
Used to provide notification that a trade has been cancelled (busted) or corrected (price change only...
Provides efficient way of accessing text-based field values.
Definition: String.h:45
Encapsulates services for manipulating little endian encoded messages.
Binary4 lastShares() const
Executed contracts quantity.
DateTime transactionTime() const
The time the event occurred in the CFE Matching Engine (not the time the message was sent)...
TradeCancelOrCorrect(const void *data, MessageSize size)
Initializes instance over given memory block.
StrRef clOrdId() const
The order which was executed.
void toStr(std::string &str, const FixedPointDecimal< Mantissa, Exponent > &number)
Serializes fixed-point decimal into a string.
Definition: Decimal.h:156
StrRef clearingFirm() const
EFID that will clear the trade.
Binary2 MessageSize
Aliases message length type.
BinaryPrice lastPx() const
Price of this fill.
DateTime origTime() const
The date and time of the original trade, in GMT.
StrRef clearingAccount() const
Supplemental identifier.
Date maturityDate() const
Maturity date of the instrument.
Binary4 cMTANumber() const
CMTA Number of the firm that will clear the trade.
Binary8 execRefId() const
Refers to the ExecId of the fill being cancelled or corrected.
OpenClose::Enum openClose() const
Indic ates status of client position in a trade resulting from the order.