OnixS C++ Eurex T7 Market and Reference Data Interface (EMDI, RDI, EOBI) Handlers  7.0.3
API documentation
TradeReport.cpp
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 
21 
22 #include "MessageDataStructures.h"
23 
24 #include "../Utils.h"
25 
26 namespace OnixS{
27 namespace Eurex{
28 namespace MarketData{
29 namespace EOBI{
30 
32 
33 std::string TradeReport::msgType() const
34 {
35  return std::string("U22", 3);
36 }
37 
39 {
40  return EOBI::MarketDataType::TradeReport; // implied constant
41 }
42 
44 {
45  return EOBI::MDUpdateAction::New; // implied constant
46 }
47 
49 {
50  return EOBI::SecurityIDSource::Marketplace; // implied constant
51 }
52 
54 {
55  return (getData<TradeReportMsgData>())->SecurityID;
56 }
57 
59 {
60  return (getData<TradeReportMsgData>())->TransactTime;
61 }
62 
64 {
65  return (getData<TradeReportMsgData>())->TrdMatchID;
66 }
67 
69 {
70  return (getData<TradeReportMsgData>())->LastQty;
71 }
72 
74 {
75  return Decimal((getData<TradeReportMsgData>())->LastPx/100000000.0, 8u);
76 }
77 
79 {
80  return static_cast<EOBI::MatchType::Enum>((getData<TradeReportMsgData>())->MatchType);
81 }
82 
84 {
85  return static_cast<EOBI::MatchSubType::Enum>((getData<TradeReportMsgData>())->MatchSubType);
86 }
87 
89 {
90  return static_cast<EOBI::AlgorithmicTradeIndicator::Enum>((getData<TradeReportMsgData>())->AlgorithmicTradeIndicator);
91 }
92 
94 {
95  return static_cast<EOBI::TradeCondition::Enum>((getData<TradeReportMsgData>())->TradeCondition);
96 }
97 
98 void TradeReport::toString(std::string& presentation) const
99 {
100  presentation
101  << "TradeReport [msgSeqNum="
102  << msgSeqNum()
103  << ", securityID="
104  << securityID()
105  << ", transactTime="
106  << transactTime()
107  << ", trdMatchID="
108  << trdMatchID()
109  << ", lastQty="
110  << lastQty()
111  << ", lastPx="
112  << lastPx().toString()
113  << ", matchType="
115  << ", matchSubType="
117  << ", AlgorithmicTradeIndicator=" << AlgorithmicTradeIndicator::toString(algorithmicTradeIndicator())
118  << ", TradeCondition=" << TradeCondition::toString(tradeCondition())
119  ;
120 
121 
122  presentation << ']';
123 }
124 
125 }}}}
EOBI::MatchType::Enum matchType() const
The point in the matching process at which this trade was matched.
Definition: TradeReport.cpp:78
EOBI::MDUpdateAction::Enum mdUpdateAction() const
Type of Market Data update action.
Definition: TradeReport.cpp:43
EOBI::AlgorithmicTradeIndicator::Enum algorithmicTradeIndicator() const
Definition: TradeReport.cpp:88
std::string toString() const
Returns text presentation.
Definition: MessageBase.cpp:37
UInt64 securityID() const
Unique instrument identifier.
Definition: TradeReport.cpp:53
EOBI::TradeCondition::Enum tradeCondition() const
Definition: TradeReport.cpp:93
UInt64 transactTime() const
Transaction timestamp.
Definition: TradeReport.cpp:58
UInt32 trdMatchID() const
Unique identifier for each price level (match step) of a match event; it is used for public trade rep...
Definition: TradeReport.cpp:63
unsigned int UInt32
Definition: Numeric.h:41
Definition: Group.h:25
Decimal type for better precision.
Definition: Numeric.h:63
std::string msgType() const
Message type.
Definition: TradeReport.cpp:33
UInt32 msgSeqNum() const
Message sequence number.
Definition: MessageBase.cpp:32
EOBI::MarketDataType::Enum marketDataType() const
Market data type.
Definition: TradeReport.cpp:38
static std::string toString(Enum value)
Definition: Defines.cpp:282
Decimal lastPx() const
Price of this fill.
Definition: TradeReport.cpp:73
static std::string toString(Enum value)
Definition: Defines.cpp:491
Implementation::TradeReportMsgData TradeReportMsgData
Definition: TradeReport.cpp:31
EOBI::MatchSubType::Enum matchSubType() const
Definition: TradeReport.cpp:83
void toString(std::string &) const
Appends text presentation to given string.
Definition: Decimal.cpp:217
QuantityType lastQty() const
Quantity executed in this fill.
Definition: TradeReport.cpp:68
EOBI::SecurityIDSource::Enum securityIDSource() const
Marketplace assigned identifier.
Definition: TradeReport.cpp:48
static std::string toString(Enum value)
Definition: Defines.cpp:264