OnixS C++ CME MDP Premium Market Data Handler  5.8.9
API Documentation
TradeProcessing.h
Go to the documentation of this file.
1 // Copyright Onix Solutions Limited [OnixS]. All rights reserved.
2 //
3 // This software owned by Onix Solutions Limited [OnixS] and is
4 // protected by copyright law and international copyright treaties.
5 //
6 // Access to and use of the software is governed by the terms of the applicable
7 // OnixS Software Services Agreement (the Agreement) and Customer end user license
8 // agreements granting a non-assignable, non-transferable and non-exclusive license
9 // to use the software for it's own data processing purposes under the terms defined
10 // in the Agreement.
11 //
12 // Except as otherwise granted within the terms of the Agreement, copying or
13 // reproduction of any part of this source code or associated reference material
14 // to any other location for further reproduction or redistribution, and any
15 // amendments to this copyright notice, are expressly prohibited.
16 //
17 // Any reproduction or redistribution for sale or hiring of the Software not in
18 // accordance with the terms of the Agreement is a violation of copyright law.
19 //
20 
21 #pragma once
22 
23 #include <string>
24 
26 
28 
29 /// Defines different ways trades are processed.
31 {
32  /// Integral type used as basement for constants.
33  typedef UInt32 Base;
34 
35  enum Enum
36  {
37  /// Given strategy tells Handler to provide only
38  /// summary-level of trade data. Information on orders
39  /// related with a trade is not provided and only number
40  /// of orders is available. Trades are exposed by Handler
41  /// as soon as correspondent data is received without
42  /// any additional delays.
44 
45  /// Tells Handler to gather detailed information on orders
46  /// related with each trade. As a result, trades are exposed
47  /// with order ids referring to the trades in addition to
48  /// summary level information exposed by trades.
49  /// In this mode, trades may be exposed with delays, because
50  /// MDP sends order ids after trade summary data. Also,
51  /// data may be distributed across packets belonging to single
52  /// market event. Therefore, in general, given strategy may
53  /// be slower in compare to summary level. However, in 99%
54  /// entire data is transmitted within single packet, therefore
55  /// trades are exposed with no delay.
56  OrderDetails
57  };
58 };
59 
60 /// Serializes trade processing strategy.
62 void toStr(std::string&, TradeProcessing::Enum);
63 
64 /// Serializes trade processing strategy.
65 inline std::string toStr(TradeProcessing::Enum strategy)
66 {
67  std::string str;
68 
69  toStr(str, strategy);
70 
71  return str;
72 }
73 
UInt32 UInt32
uInt32.
Definition: Fields.h:192
UInt32 Base
Integral type used as basement for constants.
#define ONIXS_CMEMDH_LTWT
Definition: Bootstrap.h:46
#define ONIXS_CMEMDH_NAMESPACE_BEGIN
Definition: Bootstrap.h:67
Given strategy tells Handler to provide only summary-level of trade data.
#define ONIXS_CMEMDH_EXPORTED
Definition: Compiler.h:160
std::string toStr(TradeProcessing::Enum strategy)
Serializes trade processing strategy.
Defines different ways trades are processed.
#define ONIXS_CMEMDH_NAMESPACE_END
Definition: Bootstrap.h:68