libjmmcg  build_2176
A C++ library containing an eclectic mix of useful, advanced components.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
jmmcg::exchanges::MIT::common Namespace Reference

Classes

class  connectivity_policy
 An implementation of the connectivity policy for the MIT protocol. More...
 
class  server_hb_t
 Section 5.2.2 "Heartbeats" of [1]. Generate heartbeats from the containing simulator. More...
 
struct  logon_args_t
 
struct  logoff_args_t
 
struct  Header
 
struct  LogonRequest
 
struct  LogonReply
 
struct  LogoutRequest
 
struct  Heartbeat
 
struct  MissedMessageRequest
 
struct  MissedMessageRequestAck
 
struct  MissedMessageReport
 
struct  Reject
 
struct  SystemStatus
 
struct  NewOrder
 
struct  NewQuote
 
struct  OrderCancelReplaceRequest
 
struct  OrderCancelRequestSpecific2
 
struct  OrderCancelRequest
 
struct  OrderMassCancelRequest
 
struct  ExecutionReport
 
struct  OrderCancelRejectSpecific
 
struct  OrderCancelReject
 
struct  OrderMassCancelReportSpecific
 
struct  OrderMassCancelReport
 
struct  BusinessRejectSpecific
 
struct  BusinessReject
 
class  client_to_exchange_transformations
 A client-to-MIT-protocol message handler. More...
 
class  exchange_to_client_transformations
 A MIT-protocol-to-client message handler. More...
 
class  simulator_responses
 A simple, MIT-protocol exchange simulator. More...
 
class  ref_data
 Structures for encapsulating the MIT reference-data details. More...
 

Typedefs

using ref_data_t = ref_data const &
 
using CrossType_t = std::uint8_t
 
using MsgType_t = char
 
using Price_t = std::int64_t
 
using SecurityID_t = std::int32_t
 
using TransactTime_t = std::uint64_t
 
using Account_t = std::array< char, 10 >
 
using ClientOrderID_t = std::array< char, 20 >
 
using CommonSymbol_t = std::array< char, 8 >
 
using Counterparty_t = std::array< char, 11 >
 
using CrossID_t = std::array< char, 20 >
 
using ExecutionID_t = std::array< char, 12 >
 
using ExecutionReportRefID_t = std::array< char, 12 >
 
using ExpireDateTime_t = std::uint32_t
 
using OrderID_t = std::array< char, 12 >
 
using Password_t = std::array< char, 25 >
 
using PasswordExpiryDayCount_t = std::array< char, 30 >
 
using PublicOrderID_t = std::array< char, 12 >
 
using Reason_t = std::array< char, 20 >
 
using RejectReason_t = std::array< char, 30 >
 
using Segment_t = std::array< char, 4 >
 
using TraderID_t = std::array< char, 11 >
 
using UserName_t = std::array< char, 25 >
 
using ReservedField2_t = std::array< char, 2 >
 
using ReservedField3_t = std::array< char, 3 >
 
using ReservedField4_t = std::array< char, 4 >
 
using ReservedField6_t = std::array< char, 6 >
 
using ReservedField9_t = std::array< char, 9 >
 
using ReservedField10_t = std::array< char, 10 >
 
using ReservedField12_t = std::array< char, 12 >
 
using ReservedField20_t = std::array< char, 20 >
 

Enumerations

enum  AdminMsgType : MsgType_t {
  AdminMsgType::LogonRequest ='A', AdminMsgType::LogonReply ='B', AdminMsgType::LogoutRequest ='5', AdminMsgType::Heartbeat ='0',
  AdminMsgType::MissedMessageRequest ='M', AdminMsgType::MissedMessageRequestAck ='N', AdminMsgType::MissedMessageReport ='P', AdminMsgType::Reject ='3',
  AdminMsgType::SystemStatus ='n'
}
 
enum  ClientMsgType : MsgType_t {
  ClientMsgType::NewOrder ='D', ClientMsgType::OrderCancelRequest ='F', ClientMsgType::OrderMassCancelRequest ='q', ClientMsgType::OrderCancelReplaceRequest ='G',
  ClientMsgType::NewQuote ='S', ClientMsgType::NewOrderCrossMessage ='C', ClientMsgType::CrossOrderCancelRequest ='H'
}
 
enum  ServerMsgType : MsgType_t { ServerMsgType::ExecutionReport ='8', ServerMsgType::OrderCancelReject ='9', ServerMsgType::OrderMassCancelReport ='r', ServerMsgType::BusinessMessageReject ='j' }
 
enum  ClearingAccount : std::uint8_t { ClearingAccount::Client =1u, ClearingAccount::House =3u }
 
enum  Capacity : std::uint8_t { Capacity::RisklessPrincipal =1u, Capacity::Principal =2u, Capacity::Agency =3u, Capacity::CFDGiveUp =4u }
 
enum  AutoCancel : std::uint8_t { AutoCancel::DoNotCancel =0u, AutoCancel::Cancel =1u }
 
enum  OrderType : std::uint8_t {
  OrderType::Market =1u, OrderType::Limit =2u, OrderType::Stop =3u, OrderType::StopLimit =4u,
  OrderType::Pegged =50u, OrderType::PeggedLimitOrder =51u
}
 
enum  Anonymity : std::uint8_t { Anonymity::Anonymous =0u, Anonymity::Named =1u }
 
enum  TIF : std::uint8_t {
  TIF::Day =0u, TIF::GTC =1u, TIF::IOC =3u, TIF::FOK =4u,
  TIF::OPG =5u, TIF::GTD =6u, TIF::GTT =8u, TIF::GFA1 =9u,
  TIF::ATC =10u, TIF::CPX =12u, TIF::GFA2 =50u, TIF::GFX =51u,
  TIF::GFS =52u
}
 
enum  Side : std::uint8_t { Side::Buy =1u, Side::Sell =2u }
 
enum  PassiveOnlyOrder : std::uint8_t {
  PassiveOnlyOrder::NoConstraint =0u, PassiveOnlyOrder::AcceptOrderIfSettingNewBBOJoiningExistingBBO =1u, PassiveOnlyOrder::AcceptOrderIfAtBBOInOneVisiblePricePoint =2u, PassiveOnlyOrder::AcceptOrderIfAtBBOInTwoVisiblePricePoints =3u,
  PassiveOnlyOrder::NotMatchWithVisibleContraOrder =99u, PassiveOnlyOrder::AcceptOrderIfSettingNewVisibleBBO =100u
}
 
enum  OrderSubType : std::uint8_t {
  OrderSubType::Order =0u, OrderSubType::Quote =3u, OrderSubType::PeggedOrder =5u, OrderSubType::PeggedMid =50u,
  OrderSubType::Random =51u, OrderSubType::PeggedOffer =52u
}
 
enum  AppID : std::uint8_t { AppID::Partition1 =1u, AppID::Partition2 =2u, AppID::Partition3 =3u }
 
enum  MESQualifier : std::int8_t { MESQualifier::NonMES =0, MESQualifier::MES =1 }
 
enum  OrderSource : std::int8_t {
  OrderSource::MarketParticipantDealsOnOwnAccount =1, OrderSource::InstitutionalClientMarketParticipant =3, OrderSource::RetailClientOrdersRouterDifferentMarketParticipant =7, OrderSource::InstitutionalClientOrdersRouterDifferentMarketParticipant =8,
  OrderSource::RetailClientMarketParticipant =9
}
 
enum  RestatementReason : std::uint8_t {
  RestatementReason::GTRenewalRestatement =1u, RestatementReason::OrderRePriced =3u, RestatementReason::MarketOption =8u, RestatementReason::PartialDeclineOrderQty =51u,
  RestatementReason::OrderReplenishment =100u
}
 
enum  ExecType : char {
  ExecType::New ='0', ExecType::Cancelled ='4', ExecType::Replaced ='5', ExecType::Rejected ='8',
  ExecType::Suspended ='9', ExecType::Expired ='C', ExecType::Restated ='D', ExecType::Trade ='F',
  ExecType::TradeCorrect ='G', ExecType::TradeCancel ='H', ExecType::Triggered ='L'
}
 
enum  OrderStatus : std::uint8_t {
  OrderStatus::New =0u, OrderStatus::Partiallyfilled =1u, OrderStatus::Filled =2u, OrderStatus::Cancelled =4u,
  OrderStatus::Expired =6u, OrderStatus::Rejected =8u, OrderStatus::Suspended =9u
}
 
enum  Container : std::uint8_t {
  Container::None =0u, Container::OrderBook =1u, Container::MarketOrderContainer =3u, Container::ParkedOrderQueue =5u,
  Container::StopOrderQueue =6u, Container::PeggedOrderContainer =7u, Container::PeggedOrder =20u, Container::EODVolumeAuctionUncross =21u
}
 
enum  TradeLiquidityIndicator : char { TradeLiquidityIndicator::AddedLiquidity ='A', TradeLiquidityIndicator::RemovedLiquidity ='R', TradeLiquidityIndicator::Auction ='C' }
 
enum  PriceDifferential : char {
  PriceDifferential::Aggressive ='A', PriceDifferential::NewVisibleBBO ='B', PriceDifferential::JoinVisibleBBO ='1', PriceDifferential::JoiningSetting2ndBestVisiblePrice ='2',
  PriceDifferential::JoiningSetting3rdBestVisiblePrice ='3', PriceDifferential::JoiningSetting4thBestVisiblePrice ='4', PriceDifferential::JoiningSetting5thBestVisiblePrice ='5', PriceDifferential::JoiningSetting6thBestVisiblePrice ='6',
  PriceDifferential::JoiningSetting7thBestVisiblePrice ='7', PriceDifferential::JoiningSetting8thBestVisiblePrice ='8', PriceDifferential::JoiningSetting9thBestVisiblePriceOrWorsePricePoint ='9', PriceDifferential::Passive ='P'
}
 
enum  TypeOfTrade : std::uint8_t { TypeOfTrade::Visible =0u, TypeOfTrade::Hidden =1u, TypeOfTrade::NotSpecified =2u }
 
enum  MassCancelRequestType : std::uint8_t {
  MassCancelRequestType::AllFirmOrdersInstrument =3u, MassCancelRequestType::AllFirmOrdersOfSegment =4u, MassCancelRequestType::AllOrdersSubmittedByTrader =7u, MassCancelRequestType::AllFirmOrders =8u,
  MassCancelRequestType::AllOrdersOfInstrument =9u, MassCancelRequestType::AllOrdersOfSegment =15u
}
 
enum  AppStatus : std::uint8_t { AppStatus::RecoveryServiceResumed =1u, AppStatus::RecoveryServiceNotAvailable =2u, AppStatus::PartitionSuspended =3u }
 
enum  MassCancelResponse : std::uint8_t { MassCancelResponse::Rejected =0u, MassCancelResponse::Accepted =7u }
 
enum  TargetBook : std::int8_t { TargetBook::LitOrderBook =0, TargetBook::DarkMidpointOrderBook =1 }
 
enum  ExecInstruction : std::int8_t { ExecInstruction::Default =0, ExecInstruction::TurquoiseUncross =1, ExecInstruction::ContinuousOnly =2, ExecInstruction::ContinuousAndTurquoiseUncross =5 }
 
enum  PegPriceType : std::int8_t { PegPriceType::MidPoint =0 }
 
enum  OrderBook : std::int8_t { OrderBook::Regular =1 }
 
enum  ExecutionInstruction : std::int8_t { ExecutionInstruction::DoNotExcludeHiddenOrders =0, ExecutionInstruction::ExcludeHiddenOrders =1, ExecutionInstruction::IncludeInEODVolumeAuctionUncross =2 }
 
enum  Status : std::uint8_t { Status::AllMessagesTransmitted =0u, Status::MessageLimitReached =1u, Status::ServiceUnavailable =2u }
 
enum  CrossType : std::uint8_t { CrossType::InternalCross =5 }
 
enum  IsMarketOpsRequest : std::uint8_t { IsMarketOpsRequest::No =0u, IsMarketOpsRequest::Yes =1u }
 

Functions

template<class Ret >
Ret convert (FIX::common::field_str_range_t const &) __attribute__((pure))=delete
 
template<>
constexpr OrderType convert< OrderType > (FIX::common::field_str_range_t const &a)
 
template<>
constexpr TIF convert< TIF > (FIX::common::field_str_range_t const &a)
 
template<>
constexpr Side convert< Side > (FIX::common::field_str_range_t const &a)
 
template<class MsgT , class RefData >
constexpr SecurityID_t convert_SecurityID_t (MsgT const &msg, RefData const &ref_data)
 
template<>
Price_t convert< Price_t > (FIX::common::field_str_range_t const &a)
 
template<>
std::int32_t convert< std::int32_t > (FIX::common::field_str_range_t const &a)
 
template<>
std::uint32_t convert< std::uint32_t > (FIX::common::field_str_range_t const &a)
 
template<>
std::uint64_t convert< std::uint64_t > (FIX::common::field_str_range_t const &a)
 
template<>
 LogonRequest::LogonRequest< FIX::v5_0sp2::MsgTypes::LogonRequest > (FIX::v5_0sp2::MsgTypes::LogonRequest const &msg) noexcept(true)
 
template<>
constexpr LogoutRequest::LogoutRequest< FIX::v5_0sp2::MsgTypes::LogoutRequest > (FIX::v5_0sp2::MsgTypes::LogoutRequest const &, Reason_t r) noexcept(true)
 
template<>
constexpr Heartbeat::Heartbeat< FIX::v5_0sp2::MsgTypes::ClientHeartbeat > (FIX::v5_0sp2::MsgTypes::ClientHeartbeat const &) noexcept(true)
 
struct
jmmcg::exchanges::MIT::common::Header 
__attribute__ ((packed))
 
template<class RefData , class SrcMsgDetails , class DestMsgDetails , class SktT >
std::ostream & operator<< (std::ostream &os, client_to_exchange_transformations< RefData, SrcMsgDetails, DestMsgDetails, SktT > const &ec) noexcept(false)
 
template<class RefData , class SrcMsgDetails , class DestMsgDetails , class SktT >
std::ostream & operator<< (std::ostream &os, exchange_to_client_transformations< RefData, SrcMsgDetails, DestMsgDetails, SktT > const &ec) noexcept(false)
 
template<class SrcMsgDetails , class SktT >
std::ostream & operator<< (std::ostream &os, simulator_responses< SrcMsgDetails, SktT > const &ec) noexcept(false)
 
std::ostream & operator<< (std::ostream &is, ref_data::security_id_key const &sik) noexcept(false)
 
std::ostream & operator<< (std::ostream &is, ref_data_t rd) noexcept(false)
 
std::ostream & operator<< (std::ostream &os, ClearingAccount v)
 
std::ostream & operator<< (std::ostream &os, Capacity v)
 
std::ostream & operator<< (std::ostream &os, AutoCancel v)
 
std::ostream & operator<< (std::ostream &os, OrderType v)
 
std::istream & operator>> (std::istream &os, OrderType &v)
 
std::ostream & operator<< (std::ostream &os, Anonymity v)
 
std::ostream & operator<< (std::ostream &os, TIF v)
 
std::istream & operator>> (std::istream &os, TIF &v)
 
std::ostream & operator<< (std::ostream &os, Side v)
 
std::istream & operator>> (std::istream &os, Side &v)
 
std::ostream & operator<< (std::ostream &os, PassiveOnlyOrder v)
 
std::ostream & operator<< (std::ostream &os, OrderSubType v)
 
std::ostream & operator<< (std::ostream &os, AppID v)
 
std::ostream & operator<< (std::ostream &os, MESQualifier v)
 
std::ostream & operator<< (std::ostream &os, OrderSource v)
 
std::ostream & operator<< (std::ostream &os, RestatementReason v)
 
std::ostream & operator<< (std::ostream &os, ExecType v)
 
std::ostream & operator<< (std::ostream &os, OrderStatus v)
 

Variables

struct
jmmcg::exchanges::MIT::common::OrderCancelRejectSpecific 
__attribute__
 
constexpr Price_t implied_decimal_places =100000000
 The number of implied decimal-places for MIT use. More...
 

Detailed Description

Typedef Documentation

using jmmcg::exchanges::MIT::common::Account_t = typedef std::array<char, 10>

Definition at line 37 of file types.hpp.

using jmmcg::exchanges::MIT::common::ClientOrderID_t = typedef std::array<char, 20>

Definition at line 38 of file types.hpp.

using jmmcg::exchanges::MIT::common::CommonSymbol_t = typedef std::array<char, 8>

Definition at line 39 of file types.hpp.

using jmmcg::exchanges::MIT::common::Counterparty_t = typedef std::array<char, 11>

Definition at line 40 of file types.hpp.

using jmmcg::exchanges::MIT::common::CrossID_t = typedef std::array<char, 20>

Definition at line 41 of file types.hpp.

using jmmcg::exchanges::MIT::common::CrossType_t = typedef std::uint8_t

Definition at line 31 of file types.hpp.

using jmmcg::exchanges::MIT::common::ExecutionID_t = typedef std::array<char, 12>

Definition at line 42 of file types.hpp.

using jmmcg::exchanges::MIT::common::ExecutionReportRefID_t = typedef std::array<char, 12>

Definition at line 43 of file types.hpp.

using jmmcg::exchanges::MIT::common::ExpireDateTime_t = typedef std::uint32_t

Definition at line 44 of file types.hpp.

Definition at line 32 of file types.hpp.

using jmmcg::exchanges::MIT::common::OrderID_t = typedef std::array<char, 12>

Definition at line 45 of file types.hpp.

using jmmcg::exchanges::MIT::common::Password_t = typedef std::array<char, 25>

Definition at line 46 of file types.hpp.

using jmmcg::exchanges::MIT::common::PasswordExpiryDayCount_t = typedef std::array<char, 30>

Definition at line 47 of file types.hpp.

using jmmcg::exchanges::MIT::common::Price_t = typedef std::int64_t

Definition at line 33 of file types.hpp.

using jmmcg::exchanges::MIT::common::PublicOrderID_t = typedef std::array<char, 12>

Definition at line 48 of file types.hpp.

using jmmcg::exchanges::MIT::common::Reason_t = typedef std::array<char, 20>

Definition at line 49 of file types.hpp.

Definition at line 124 of file ref_data.hpp.

using jmmcg::exchanges::MIT::common::RejectReason_t = typedef std::array<char, 30>

Definition at line 50 of file types.hpp.

using jmmcg::exchanges::MIT::common::ReservedField10_t = typedef std::array<char, 10>

Definition at line 60 of file types.hpp.

using jmmcg::exchanges::MIT::common::ReservedField12_t = typedef std::array<char, 12>

Definition at line 61 of file types.hpp.

using jmmcg::exchanges::MIT::common::ReservedField20_t = typedef std::array<char, 20>

Definition at line 62 of file types.hpp.

using jmmcg::exchanges::MIT::common::ReservedField2_t = typedef std::array<char, 2>

Definition at line 55 of file types.hpp.

using jmmcg::exchanges::MIT::common::ReservedField3_t = typedef std::array<char, 3>

Definition at line 56 of file types.hpp.

using jmmcg::exchanges::MIT::common::ReservedField4_t = typedef std::array<char, 4>

Definition at line 57 of file types.hpp.

using jmmcg::exchanges::MIT::common::ReservedField6_t = typedef std::array<char, 6>

Definition at line 58 of file types.hpp.

using jmmcg::exchanges::MIT::common::ReservedField9_t = typedef std::array<char, 9>

Definition at line 59 of file types.hpp.

using jmmcg::exchanges::MIT::common::SecurityID_t = typedef std::int32_t

Definition at line 34 of file types.hpp.

using jmmcg::exchanges::MIT::common::Segment_t = typedef std::array<char, 4>

Definition at line 51 of file types.hpp.

using jmmcg::exchanges::MIT::common::TraderID_t = typedef std::array<char, 11>

Definition at line 52 of file types.hpp.

using jmmcg::exchanges::MIT::common::TransactTime_t = typedef std::uint64_t

Definition at line 35 of file types.hpp.

using jmmcg::exchanges::MIT::common::UserName_t = typedef std::array<char, 25>

Definition at line 53 of file types.hpp.

Enumeration Type Documentation

From "MIT203 - MILLENNIUM EXCHANGE Native Trading Gateway", Issue 11.6, 17 August 2015 Section: "8.1.1 Administrative messages"

Enumerator
LogonRequest 
LogonReply 
LogoutRequest 
Heartbeat 
MissedMessageRequest 
MissedMessageRequestAck 
MissedMessageReport 

Or TransmissionComplete for JSE.

Reject 
SystemStatus 

Definition at line 75 of file types.hpp.

enum jmmcg::exchanges::MIT::common::Anonymity : std::uint8_t
strong
Enumerator
Anonymous 
Named 

Definition at line 172 of file types.hpp.

enum jmmcg::exchanges::MIT::common::AppID : std::uint8_t
strong
Enumerator
Partition1 
Partition2 
Partition3 

Definition at line 262 of file types.hpp.

enum jmmcg::exchanges::MIT::common::AppStatus : std::uint8_t
strong
Enumerator
RecoveryServiceResumed 
RecoveryServiceNotAvailable 
PartitionSuspended 

Definition at line 396 of file types.hpp.

enum jmmcg::exchanges::MIT::common::AutoCancel : std::uint8_t
strong
Enumerator
DoNotCancel 
Cancel 

Definition at line 138 of file types.hpp.

enum jmmcg::exchanges::MIT::common::Capacity : std::uint8_t
strong
Enumerator
RisklessPrincipal 
Principal 
Agency 
CFDGiveUp 

Definition at line 125 of file types.hpp.

Enumerator
Client 
House 

Definition at line 114 of file types.hpp.

From "MIT203 - MILLENNIUM EXCHANGE Native Trading Gateway", Issue 11.6, 17 August 2015 Section: "8.1.2.1 Client-initiated"

Enumerator
NewOrder 
OrderCancelRequest 
OrderMassCancelRequest 
OrderCancelReplaceRequest 
NewQuote 
NewOrderCrossMessage 
CrossOrderCancelRequest 

Definition at line 92 of file types.hpp.

enum jmmcg::exchanges::MIT::common::Container : std::uint8_t
strong
Enumerator
None 
OrderBook 

Or Main on JSE.

MarketOrderContainer 
ParkedOrderQueue 
StopOrderQueue 
PeggedOrderContainer 
PeggedOrder 

On JSE.

EODVolumeAuctionUncross 

On JSE.

Definition at line 349 of file types.hpp.

enum jmmcg::exchanges::MIT::common::CrossType : std::uint8_t
strong
Enumerator
InternalCross 

Definition at line 439 of file types.hpp.

Enumerator
Default 
TurquoiseUncross 
ContinuousOnly 
ContinuousAndTurquoiseUncross 

Definition at line 412 of file types.hpp.

Enumerator
New 
Cancelled 
Replaced 
Rejected 
Suspended 
Expired 
Restated 
Trade 
TradeCorrect 
TradeCancel 
Triggered 

Definition at line 313 of file types.hpp.

Enumerator
DoNotExcludeHiddenOrders 
ExcludeHiddenOrders 
IncludeInEODVolumeAuctionUncross 

Definition at line 427 of file types.hpp.

Enumerator
No 
Yes 

Definition at line 443 of file types.hpp.

Enumerator
AllFirmOrdersInstrument 
AllFirmOrdersOfSegment 
AllOrdersSubmittedByTrader 
AllFirmOrders 
AllOrdersOfInstrument 
AllOrdersOfSegment 

Definition at line 387 of file types.hpp.

Enumerator
Rejected 
Accepted 

Definition at line 402 of file types.hpp.

Enumerator
NonMES 
MES 

Definition at line 274 of file types.hpp.

enum jmmcg::exchanges::MIT::common::OrderBook : std::int8_t
strong
Enumerator
Regular 

Definition at line 423 of file types.hpp.

enum jmmcg::exchanges::MIT::common::OrderSource : std::int8_t
strong
Enumerator
MarketParticipantDealsOnOwnAccount 
InstitutionalClientMarketParticipant 
RetailClientOrdersRouterDifferentMarketParticipant 
InstitutionalClientOrdersRouterDifferentMarketParticipant 
RetailClientMarketParticipant 

Definition at line 285 of file types.hpp.

enum jmmcg::exchanges::MIT::common::OrderStatus : std::uint8_t
strong
Enumerator
New 
Partiallyfilled 
Filled 
Cancelled 
Expired 
Rejected 
Suspended 

Definition at line 333 of file types.hpp.

enum jmmcg::exchanges::MIT::common::OrderSubType : std::uint8_t
strong
Enumerator
Order 
Quote 
PeggedOrder 
PeggedMid 
Random 

Or Pegged To Bid for JSE.

PeggedOffer 

Definition at line 247 of file types.hpp.

enum jmmcg::exchanges::MIT::common::OrderType : std::uint8_t
strong
Enumerator
Market 
Limit 
Stop 
StopLimit 
Pegged 
PeggedLimitOrder 

Definition at line 149 of file types.hpp.

Enumerator
NoConstraint 
AcceptOrderIfSettingNewBBOJoiningExistingBBO 
AcceptOrderIfAtBBOInOneVisiblePricePoint 
AcceptOrderIfAtBBOInTwoVisiblePricePoints 
NotMatchWithVisibleContraOrder 
AcceptOrderIfSettingNewVisibleBBO 

Definition at line 232 of file types.hpp.

Enumerator
MidPoint 

Definition at line 419 of file types.hpp.

Enumerator
Aggressive 
NewVisibleBBO 
JoinVisibleBBO 
JoiningSetting2ndBestVisiblePrice 
JoiningSetting3rdBestVisiblePrice 
JoiningSetting4thBestVisiblePrice 
JoiningSetting5thBestVisiblePrice 
JoiningSetting6thBestVisiblePrice 
JoiningSetting7thBestVisiblePrice 
JoiningSetting8thBestVisiblePrice 
JoiningSetting9thBestVisiblePriceOrWorsePricePoint 
Passive 

Definition at line 366 of file types.hpp.

Enumerator
GTRenewalRestatement 
OrderRePriced 
MarketOption 
PartialDeclineOrderQty 
OrderReplenishment 

Definition at line 299 of file types.hpp.

From "MIT203 - MILLENNIUM EXCHANGE Native Trading Gateway", Issue 11.6, 17 August 2015 Section: "8.1.2.2 Server-initiated"

Enumerator
ExecutionReport 
OrderCancelReject 
OrderMassCancelReport 
BusinessMessageReject 

Definition at line 107 of file types.hpp.

enum jmmcg::exchanges::MIT::common::Side : std::uint8_t
strong
Enumerator
Buy 
Sell 

Definition at line 213 of file types.hpp.

enum jmmcg::exchanges::MIT::common::Status : std::uint8_t
strong
Enumerator
AllMessagesTransmitted 
MessageLimitReached 
ServiceUnavailable 

Definition at line 433 of file types.hpp.

enum jmmcg::exchanges::MIT::common::TargetBook : std::int8_t
strong
Enumerator
LitOrderBook 
DarkMidpointOrderBook 

Or Regular on JSE.

Definition at line 407 of file types.hpp.

enum jmmcg::exchanges::MIT::common::TIF : std::uint8_t
strong
Enumerator
Day 
GTC 

Good Till Cancel (GTC); JSE.

IOC 

Immediate or Cancel (IOC).

FOK 

Fill or Kill (FOK).

OPG 

At the Opening (OPG).

GTD 

Good Till Date (GTD).

GTT 

Good Till Time (GTT).

GFA1 

Good For Auction (GFA); BIT & JSE.

ATC 

At the Close (ATC).

CPX 

Close Price Cross; JSE.

GFA2 

Good for Auction (GFA); LSE or Good for EOD Volume Auction Uncross (GDX) JSE.

GFX 

Good for Intraday Auction (GFX).

GFS 

Good for Scheduled Auction (GFS).

Definition at line 183 of file types.hpp.

Enumerator
AddedLiquidity 
RemovedLiquidity 
Auction 

Definition at line 360 of file types.hpp.

enum jmmcg::exchanges::MIT::common::TypeOfTrade : std::uint8_t
strong
Enumerator
Visible 
Hidden 
NotSpecified 

Definition at line 381 of file types.hpp.

Function Documentation

struct jmmcg::exchanges::MIT::common::Header jmmcg::exchanges::MIT::common::__attribute__ ( (packed)  )
template<class Ret >
Ret jmmcg::exchanges::MIT::common::convert ( FIX::common::field_str_range_t const &  )
delete
template<>
constexpr OrderType jmmcg::exchanges::MIT::common::convert< OrderType > ( FIX::common::field_str_range_t const &  a)
inline
Todo:
What should be done with OrderType's that cannot be mapped?.

Definition at line 44 of file fix_to_mit_conversions.hpp.

template<>
Price_t jmmcg::exchanges::MIT::common::convert< Price_t > ( FIX::common::field_str_range_t const &  a)
inline

Definition at line 115 of file fix_to_mit_conversions.hpp.

template<>
constexpr Side jmmcg::exchanges::MIT::common::convert< Side > ( FIX::common::field_str_range_t const &  a)
inline
Todo:
What should be done with Side's that cannot be mapped?.

Definition at line 88 of file fix_to_mit_conversions.hpp.

template<>
std::int32_t jmmcg::exchanges::MIT::common::convert< std::int32_t > ( FIX::common::field_str_range_t const &  a)
inline

Definition at line 121 of file fix_to_mit_conversions.hpp.

template<>
std::uint32_t jmmcg::exchanges::MIT::common::convert< std::uint32_t > ( FIX::common::field_str_range_t const &  a)
inline

Definition at line 127 of file fix_to_mit_conversions.hpp.

template<>
std::uint64_t jmmcg::exchanges::MIT::common::convert< std::uint64_t > ( FIX::common::field_str_range_t const &  a)
inline

Definition at line 133 of file fix_to_mit_conversions.hpp.

template<>
constexpr TIF jmmcg::exchanges::MIT::common::convert< TIF > ( FIX::common::field_str_range_t const &  a)
inline
Todo:
What should be done with TIF's that cannot be mapped?.

Definition at line 64 of file fix_to_mit_conversions.hpp.

template<class MsgT , class RefData >
constexpr SecurityID_t jmmcg::exchanges::MIT::common::convert_SecurityID_t ( MsgT const &  msg,
RefData const &  ref_data 
)
inline

Note that only ISIN symbology is supported.

Definition at line 104 of file fix_to_mit_conversions.hpp.

template<class RefData , class SrcMsgDetails , class DestMsgDetails , class SktT >
std::ostream & jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  os,
client_to_exchange_transformations< RefData, SrcMsgDetails, DestMsgDetails, SktT > const &  ec 
)
inlinenoexcept

Definition at line 58 of file processing_rules_impl.hpp.

std::ostream& jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  os,
ClearingAccount  v 
)
inline

Definition at line 120 of file types.hpp.

std::ostream & jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  is,
ref_data::security_id_key const &  sik 
)
inlinenoexcept

Definition at line 90 of file ref_data_impl.hpp.

std::ostream & jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  is,
ref_data_t  rd 
)
inlinenoexcept

Definition at line 96 of file ref_data_impl.hpp.

std::ostream& jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  os,
Capacity  v 
)
inline

Definition at line 133 of file types.hpp.

std::ostream& jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  os,
AutoCancel  v 
)
inline

Definition at line 144 of file types.hpp.

std::ostream& jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  os,
OrderType  v 
)
inline

Definition at line 159 of file types.hpp.

std::ostream& jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  os,
Anonymity  v 
)
inline

Definition at line 178 of file types.hpp.

template<class RefData , class SrcMsgDetails , class DestMsgDetails , class SktT >
std::ostream & jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  os,
exchange_to_client_transformations< RefData, SrcMsgDetails, DestMsgDetails, SktT > const &  ec 
)
inlinenoexcept

Definition at line 154 of file processing_rules_impl.hpp.

std::ostream& jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  os,
TIF  v 
)
inline

Definition at line 200 of file types.hpp.

std::ostream& jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  os,
Side  v 
)
inline

Definition at line 219 of file types.hpp.

std::ostream& jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  os,
PassiveOnlyOrder  v 
)
inline

Definition at line 242 of file types.hpp.

template<class SrcMsgDetails , class SktT >
std::ostream & jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  os,
simulator_responses< SrcMsgDetails, SktT > const &  ec 
)
inlinenoexcept

Definition at line 331 of file processing_rules_impl.hpp.

std::ostream& jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  os,
OrderSubType  v 
)
inline

Definition at line 257 of file types.hpp.

std::ostream& jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  os,
AppID  v 
)
inline

Definition at line 269 of file types.hpp.

std::ostream& jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  os,
MESQualifier  v 
)
inline

Definition at line 280 of file types.hpp.

std::ostream& jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  os,
OrderSource  v 
)
inline

Definition at line 294 of file types.hpp.

std::ostream& jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  os,
RestatementReason  v 
)
inline

Definition at line 308 of file types.hpp.

std::ostream& jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  os,
ExecType  v 
)
inline

Definition at line 328 of file types.hpp.

std::ostream& jmmcg::exchanges::MIT::common::operator<< ( std::ostream &  os,
OrderStatus  v 
)
inline

Definition at line 344 of file types.hpp.

std::istream& jmmcg::exchanges::MIT::common::operator>> ( std::istream &  os,
OrderType &  v 
)
inline

Definition at line 165 of file types.hpp.

std::istream& jmmcg::exchanges::MIT::common::operator>> ( std::istream &  os,
TIF &  v 
)
inline

Definition at line 206 of file types.hpp.

std::istream& jmmcg::exchanges::MIT::common::operator>> ( std::istream &  os,
Side &  v 
)
inline

Definition at line 225 of file types.hpp.

Variable Documentation

jmmcg::exchanges::MIT::common::BusinessReject Header jmmcg::exchanges::MIT::common::__attribute__
constexpr Price_t jmmcg::exchanges::MIT::common::implied_decimal_places =100000000

The number of implied decimal-places for MIT use.

From Section 7 "Data Types".

Definition at line 68 of file types.hpp.