OnixS C++ ICE Binary Order Entry Handler 1.1.1
API Documentation
Loading...
Searching...
No Matches
Order Struct Reference

Public Types

using PriceOptional = decltype(std::declval<const NewOrderRequest&>().price())
using Qty = decltype(std::declval<const NewOrderRequest&>().orderQty())
using ClOrderId = decltype(std::declval<const NewOrderRequest&>().clOrdId())
using SecurityId = decltype(std::declval<const NewOrderRequest&>().symbol())
using OrderId = decltype(std::declval<const ExecutionReport_Trade&>().orderId())
using TimestampOptional = decltype(std::declval<const NewOrderRequest&>().expireDate())
using QtiOptional = decltype(std::declval<const NewOrderRequest&>().maxShow())
using ExecInstOptional = decltype(std::declval<const NewOrderRequest&>().execInst())

Public Member Functions

 Order ()
std::string toString () const
OrderId id () const noexcept

Public Attributes

ClOrderId cIOrdId_
ClOrderId origCIOrdId_ {cIOrdId_}
PriceOptional price_ {}
Qty orderQty_ {}
Qty leavesQty_ {}
SecurityId securityId_ {}
SideEnum side_ {SideEnum::Buy}
OrderTypeEnum ordType_ {OrderTypeEnum::Limit}
PriceOptional stopPx_ {}
TimeInForceEnum timeInForce_ {TimeInForceEnum::Day}
TimestampOptional expireDate_ {}
PriceOptional lastPx_ {}
TimestampOptional transactTime_ {}
ExecTypeEnum orderStatus_ {ExecTypeEnum::New}
QtiOptional maxShow_ {}
ExecInstOptional execInst_ {}

Detailed Description

Definition at line 31 of file Order.h.

Member Typedef Documentation

◆ ClOrderId

using ClOrderId = decltype(std::declval<const NewOrderRequest&>().clOrdId())

Definition at line 35 of file Order.h.

◆ ExecInstOptional

using ExecInstOptional = decltype(std::declval<const NewOrderRequest&>().execInst())

Definition at line 43 of file Order.h.

◆ OrderId

using OrderId = decltype(std::declval<const ExecutionReport_Trade&>().orderId())

Definition at line 38 of file Order.h.

◆ PriceOptional

using PriceOptional = decltype(std::declval<const NewOrderRequest&>().price())

Definition at line 33 of file Order.h.

◆ QtiOptional

using QtiOptional = decltype(std::declval<const NewOrderRequest&>().maxShow())

Definition at line 41 of file Order.h.

◆ Qty

using Qty = decltype(std::declval<const NewOrderRequest&>().orderQty())

Definition at line 34 of file Order.h.

◆ SecurityId

using SecurityId = decltype(std::declval<const NewOrderRequest&>().symbol())

Definition at line 37 of file Order.h.

◆ TimestampOptional

using TimestampOptional = decltype(std::declval<const NewOrderRequest&>().expireDate())

Definition at line 40 of file Order.h.

Constructor & Destructor Documentation

◆ Order()

Order ( )

Initializes an order.

Definition at line 29 of file Order.cpp.

30 : cIOrdId_(IdGenerator::newId())
31{
32}

Member Function Documentation

◆ id()

OrderId id ( ) const
inlinenoexcept

Returns a unique order id.

Definition at line 52 of file Order.h.

53 {
54 return cIOrdId_;
55 }

◆ toString()

std::string toString ( ) const

Human-readable presentation of the most interesting fields stored in the order.

Definition at line 39 of file Order.cpp.

40{
41 std::ostringstream builder;
42
43 builder
44 << "Order["
45 << "ClOrdID=" << cIOrdId_
46 << ", OrigCIOrdId=" << origCIOrdId_
47 << ", OrderStatus=" << orderStatus_
48 << ", SecurityId=" << securityId_
49 << ", Type=" << ordType_
50 << ", Price=" << toStr(price_)
51 << ", Quantity=" << toStr(Decimal{orderQty_, -9})
52 << ", LeavesQty=" << toStr(Decimal{leavesQty_, -9})
53 << ", Side=" << side_
54 << ", StopPx=" << toStr(stopPx_)
55 << ", LastFillPrice=" << toStr(lastPx_)
56 << ", TimeInForce=" << timeInForce_
57 << ", ExpireDate=" << (timeInForce_ == TimeInForceEnum::GTD && expireDate_ != nullOpt ? toStr(*expireDate_, TimestampFormat::YYYYMMDD) : toStr(nullOpt))
58 << ", TransactTime=" << (transactTime_ != nullOpt ? toStr(*transactTime_, TimestampFormat::YYYYMMDDHHMMSSnsec) : toStr(nullOpt))
59 << ", MaxShow=" << toStr(maxShow_)
60 << ", ExecInst=" << execInst_
61 << "]"
62 ;
63
64 return builder.str();
65}
std::string toStr(Order::PriceOptional value)
Definition Order.cpp:34

Member Data Documentation

◆ cIOrdId_

ClOrderId cIOrdId_

Definition at line 57 of file Order.h.

◆ execInst_

ExecInstOptional execInst_ {}

Definition at line 72 of file Order.h.

72{};

◆ expireDate_

TimestampOptional expireDate_ {}

Definition at line 67 of file Order.h.

67{};

◆ lastPx_

PriceOptional lastPx_ {}

Definition at line 68 of file Order.h.

68{};

◆ leavesQty_

Qty leavesQty_ {}

Definition at line 61 of file Order.h.

61{};

◆ maxShow_

QtiOptional maxShow_ {}

Definition at line 71 of file Order.h.

71{};

◆ orderQty_

Qty orderQty_ {}

Definition at line 60 of file Order.h.

60{};

◆ orderStatus_

ExecTypeEnum orderStatus_ {ExecTypeEnum::New}

Definition at line 70 of file Order.h.

70{ExecTypeEnum::New};

◆ ordType_

OrderTypeEnum ordType_ {OrderTypeEnum::Limit}

Definition at line 64 of file Order.h.

64{OrderTypeEnum::Limit};

◆ origCIOrdId_

ClOrderId origCIOrdId_ {cIOrdId_}

Definition at line 58 of file Order.h.

58{cIOrdId_};

◆ price_

PriceOptional price_ {}

Definition at line 59 of file Order.h.

59{};

◆ securityId_

SecurityId securityId_ {}

Definition at line 62 of file Order.h.

62{};

◆ side_

SideEnum side_ {SideEnum::Buy}

Definition at line 63 of file Order.h.

63{SideEnum::Buy};

◆ stopPx_

PriceOptional stopPx_ {}

Definition at line 65 of file Order.h.

65{};

◆ timeInForce_

TimeInForceEnum timeInForce_ {TimeInForceEnum::Day}

Definition at line 66 of file Order.h.

66{TimeInForceEnum::Day};

◆ transactTime_

TimestampOptional transactTime_ {}

Definition at line 69 of file Order.h.

69{};