dxFeed Graal CXX API
Loading...
Searching...
No Matches
dxfcpp::AnalyticOrder Class Referencefinal

Represents an extension of Order introducing analytic information, e.g. More...

#include <AnalyticOrder.hpp>

+ Inheritance diagram for dxfcpp::AnalyticOrder:

Public Types

using Ptr = std::shared_ptr<AnalyticOrder>
 The alias to a type of shared pointer to the AnalyticOrder object.
 
using Unique = std::unique_ptr<AnalyticOrder>
 The alias to a type of unique pointer to the AnalyticOrder object.
 
- Public Types inherited from dxfcpp::Order
using Ptr = std::shared_ptr<Order>
 The alias to a type of shared pointer to the Order object.
 
using Unique = std::unique_ptr<Order>
 The alias to a type of unique pointer to the Order object.
 
- Public Types inherited from dxfcpp::MarketEvent
using Ptr = std::shared_ptr<MarketEvent>
 The alias to a type of shared pointer to the MarketEvent object.
 
- Public Types inherited from dxfcpp::EventTypeWithSymbol< std::string >
using Ptr
 The alias to a type of shared pointer to the EventTypeWithSymbol's child object.
 
- Public Types inherited from dxfcpp::EventType
using Ptr = std::shared_ptr<EventType>
 The alias to a type of shared pointer to the EventType object.
 
- Public Types inherited from dxfcpp::SharedEntity
using Ptr = std::shared_ptr<SharedEntity>
 The alias to a type of shared pointer to the SharedEntity object.
 
- Public Types inherited from dxfcpp::IndexedEvent
using Ptr = std::shared_ptr<IndexedEvent>
 The alias to a type of shared pointer to the IndexedEvent object.
 

Public Member Functions

void * toGraal () const noexcept override
 Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
 
 AnalyticOrder () noexcept=default
 Creates new analytic order event with default values.
 
 AnalyticOrder (std::string eventSymbol) noexcept
 Creates new analytic order event with the specified event symbol.
 
AnalyticOrderwithEventSymbol (const std::string &eventSymbol) noexcept override
 Changes event's symbol and returns the current analytic order.
 
AnalyticOrder::Ptr withEventSymbolShared (const std::string &eventSymbol) noexcept
 Changes event's symbol and returns a shared pointer to the current analytic order.
 
double getIcebergPeakSize () const noexcept
 Returns iceberg peak size of this analytic order.
 
void setIcebergPeakSize (double icebergPeakSize) noexcept
 Changes iceberg peak size of this analytic order.
 
double getIcebergHiddenSize () const noexcept
 Returns iceberg hidden size of this analytic order.
 
void setIcebergHiddenSize (double icebergHiddenSize) noexcept
 Changes iceberg hidden size of this analytic order.
 
double getIcebergExecutedSize () const noexcept
 Returns iceberg executed size of this analytic order.
 
void setIcebergExecutedSize (double icebergExecutedSize) noexcept
 Changes iceberg executed size of this analytic order.
 
const IcebergTypegetIcebergType () const &noexcept
 Returns iceberg type of this analytic order.
 
void setIcebergType (const IcebergType &icebergType) noexcept
 Changes iceberg type of this analytic order.
 
std::string toString () const noexcept override
 Returns a string representation of the current object.
 
- Public Member Functions inherited from dxfcpp::Order
void * toGraal () const noexcept override
 Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
 
 Order () noexcept=default
 Creates new order event with default values.
 
 Order (std::string eventSymbol) noexcept
 Creates new order event with the specified event symbol.
 
Order::Ptr withEventSymbolShared (const std::string &eventSymbol) noexcept
 Changes event's symbol and returns a shared pointer to the current order.
 
OrderwithEventTime (std::int64_t eventTime) noexcept
 Changes event's creation time and returns the current order.
 
Order::Ptr withEventTimeShared (std::int64_t eventTime) noexcept
 Changes event's creation time and returns a shared pointer to the current order.
 
OrderwithSource (const OrderSource &source) noexcept
 Changes event's source and returns the current order.
 
Order::Ptr withSourceShared (const OrderSource &source) noexcept
 Changes event's source and returns a shared pointer to the current order.
 
OrderwithEventFlags (std::int32_t eventFlags) noexcept
 Changes transactional event flags and returns the current order.
 
Order::Ptr withEventFlagsShared (std::int32_t eventFlags) noexcept
 Changes transactional event flags and returns a shared pointer to the current order.
 
OrderwithEventFlags (const EventFlagsMask &eventFlags) noexcept
 Changes transactional event flags and returns the current order.
 
Order::Ptr withEventFlagsShared (const EventFlagsMask &eventFlags) noexcept
 Changes transactional event flags and returns a shared pointer to the current order.
 
OrderwithIndex (std::int64_t index) noexcept
 Changes unique per-symbol index of this order and returns it.
 
Order::Ptr withIndexShared (std::int64_t index) noexcept
 Changes unique per-symbol index of this order and returns a shared pointer to it.
 
OrderwithTime (std::int64_t time) noexcept
 Changes time of this order and returns it.
 
Order::Ptr withTimeShared (std::int64_t time) noexcept
 Changes time of this order and returns a shared pointer to it.
 
OrderwithTimeNanoPart (std::int32_t timeNanoPart) noexcept
 Changes microseconds and nanoseconds time part of this order.
 
Order::Ptr withTimeNanoPartShared (std::int32_t timeNanoPart) noexcept
 Changes microseconds and nanoseconds time part of this order.
 
OrderwithSequence (std::int32_t sequence) noexcept
 Changes sequence number of this order.
 
Order::Ptr withSequenceShared (std::int32_t sequence) noexcept
 Changes sequence number of this order.
 
OrderwithTimeNanos (std::int64_t timeNanos) noexcept
 Changes time of this order and returns it.
 
Order::Ptr withTimeNanosShared (std::int64_t timeNanos) noexcept
 Changes time of this order.
 
OrderwithAction (const OrderAction &action) noexcept
 Changes action of this order and returns it.
 
Order::Ptr withActionShared (const OrderAction &action) noexcept
 Changes action of this order.
 
OrderwithActionTime (std::int64_t actionTime) noexcept
 Changes time of the last action and returns current order.
 
Order::Ptr withActionTimeShared (std::int64_t actionTime) noexcept
 Changes time of the last action and returns a shared pointer to the current order.
 
OrderwithOrderId (std::int64_t orderId) noexcept
 Changes order ID.
 
Order::Ptr withOrderIdShared (std::int64_t orderId) noexcept
 Changes order ID.
 
OrderwithAuxOrderId (std::int64_t auxOrderId) noexcept
 Changes auxiliary order ID.
 
Order::Ptr withAuxOrderIdShared (std::int64_t auxOrderId) noexcept
 Changes auxiliary order ID.
 
OrderwithPrice (double price) noexcept
 Changes price of this order.
 
Order::Ptr withPriceShared (double price) noexcept
 Changes price of this order.
 
OrderwithSize (double size) noexcept
 Changes size of this order.
 
Order::Ptr withSizeShared (double size) noexcept
 Changes size of this order.
 
OrderwithExecutedSize (double executedSize) noexcept
 Changes executed size of this order.
 
Order::Ptr withExecutedSizeShared (double executedSize) noexcept
 Changes executed size of this order.
 
OrderwithCount (std::int64_t count) noexcept
 Changes number of individual orders in this aggregate order.
 
Order::Ptr withCountShared (std::int64_t count) noexcept
 Changes number of individual orders in this aggregate order.
 
OrderwithTradeId (std::int64_t tradeId) noexcept
 Changes trade ID.
 
Order::Ptr withTradeShared (std::int64_t tradeId) noexcept
 Changes trade ID.
 
OrderwithTradePrice (double tradePrice) noexcept
 Changes trade price.
 
Order::Ptr withTradePriceShared (double tradePrice) noexcept
 Changes trade price.
 
OrderwithTradeSize (double tradeSize) noexcept
 Changes trade size.
 
Order::Ptr withTradeSizeShared (double tradeSize) noexcept
 Changes trade size.
 
OrderwithExchangeCode (char exchangeCode) noexcept
 Changes exchange code of this order.
 
Order::Ptr withExchangeCodeShared (char exchangeCode) noexcept
 Changes exchange code of this order.
 
OrderwithExchangeCode (std::int16_t exchangeCode) noexcept
 Changes exchange code of this order.
 
Order::Ptr withExchangeCodeShared (std::int16_t exchangeCode) noexcept
 Changes exchange code of this order.
 
OrderwithOrderSide (const Side &side) noexcept
 Changes side of this order.
 
Order::Ptr withOrderSideShared (const Side &side) noexcept
 Changes side of this order.
 
OrderwithScope (const Scope &scope) noexcept
 Changes scope of this order.
 
Order::Ptr withScopeShared (const Scope &scope) noexcept
 Changes scope of this order.
 
const std::string & getMarketMaker () const &noexcept
 Returns market maker or other aggregate identifier of this order.
 
const std::optional< std::string > & getMarketMakerOpt () const &noexcept
 Returns market maker or other aggregate identifier of this order.
 
void setMarketMaker (std::string marketMaker) noexcept
 Changes market maker or other aggregate identifier of this order.
 
OrderwithMarketMaker (std::string marketMaker) noexcept
 Changes market maker or other aggregate identifier of this order.
 
Order::Ptr withMarketMakerShared (std::string marketMaker) noexcept
 Changes market maker or other aggregate identifier of this order.
 
std::string toString () const noexcept override
 Returns a string representation of the current object.
 
- Public Member Functions inherited from dxfcpp::OrderBase
 OrderBase () noexcept=default
 Creates new order event with default values.
 
 OrderBase (std::string eventSymbol) noexcept
 Creates new order event with the specified event symbol.
 
const OrderSourcegetSource () const &noexcept override
 Returns source of this event.
 
void setSource (const OrderSource &source) noexcept
 Changes source of this event.
 
std::int32_t getEventFlags () const noexcept override
 Returns transactional event flags.
 
EventFlagsMask getEventFlagsMask () const noexcept override
 Returns transactional event flags.
 
void setEventFlags (std::int32_t eventFlags) noexcept override
 Changes transactional event flags.
 
void setEventFlags (const EventFlagsMask &eventFlags) noexcept override
 Changes transactional event flags.
 
void setIndex (std::int64_t index) noexcept override
 Changes unique per-symbol index of this order.
 
std::int64_t getIndex () const noexcept override
 Returns unique per-symbol index of this order.
 
std::int64_t getTimeSequence () const noexcept
 Returns time and sequence of this order packaged into single long value.
 
void setTimeSequence (std::int64_t timeSequence) noexcept
 Changes time and sequence of this order.
 
std::int64_t getTime () const noexcept
 Returns time of this order.
 
void setTime (std::int64_t time) noexcept
 Changes time of this order.
 
void setTimeNanoPart (std::int32_t timeNanoPart) noexcept
 Changes microseconds and nanoseconds time part of this order.
 
std::int32_t getTimeNanoPart () const noexcept
 Returns microseconds and nanoseconds time part of this order.
 
std::int32_t getSequence () const noexcept
 Returns sequence number of this order to distinguish orders that have the same time.
 
void setSequence (std::int32_t sequence) noexcept
 Changes sequence number of this order.
 
std::int64_t getTimeNanos () const noexcept
 Returns time of this order in nanoseconds.
 
void setTimeNanos (std::int64_t timeNanos) noexcept
 Changes time of this order.
 
const OrderActiongetAction () const &noexcept
 Returns order action if available, otherwise - OrderAction::UNDEFINED.
 
void setAction (const OrderAction &action) noexcept
 Changes action of this order.
 
std::int64_t getActionTime () const noexcept
 Returns time of the last action.
 
void setActionTime (std::int64_t actionTime) noexcept
 Changes time of the last action.
 
std::int64_t getOrderId () const noexcept
 Returns order ID if available.
 
void setOrderId (std::int64_t orderId) noexcept
 Changes order ID.
 
std::int64_t getAuxOrderId () const noexcept
 Returns auxiliary order ID if available:
 
void setAuxOrderId (std::int64_t auxOrderId) noexcept
 Changes auxiliary order ID.
 
double getPrice () const noexcept
 Returns price of this order.
 
void setPrice (double price) noexcept
 Changes price of this order.
 
double getSize () const noexcept
 Returns size of this order.
 
void setSize (double size) noexcept
 Changes size of this order.
 
bool hasSize () const noexcept
 Returns true if this order has some size (sizeAsDouble is neither 0 nor NaN).
 
double getExecutedSize () const noexcept
 Returns executed size of this order.
 
void setExecutedSize (double executedSize) noexcept
 Changes executed size of this order.
 
std::int64_t getCount () const noexcept
 Returns number of individual orders in this aggregate order.
 
void setCount (std::int64_t count) noexcept
 Changes number of individual orders in this aggregate order.
 
std::int64_t getTradeId () const noexcept
 Returns trade (order execution) ID for events containing trade-related action.
 
void setTradeId (std::int64_t tradeId) noexcept
 Changes trade ID.
 
double getTradePrice () const noexcept
 Returns trade price for events containing trade-related action.
 
void setTradePrice (double tradePrice) noexcept
 Changes trade price.
 
double getTradeSize () const noexcept
 Returns trade size for events containing trade-related action.
 
void setTradeSize (double tradeSize) noexcept
 Changes trade size.
 
std::int16_t getExchangeCode () const noexcept
 Returns exchange code of this order.
 
std::string getExchangeCodeString () const noexcept
 Returns exchange code of this order as UTF8 string.
 
void setExchangeCode (char exchangeCode) noexcept
 Changes exchange code of this order.
 
void setExchangeCode (std::int16_t exchangeCode) noexcept
 Changes exchange code of this order.
 
const SidegetOrderSide () const &noexcept
 Returns side of this order.
 
void setOrderSide (const Side &side) noexcept
 Changes side of this order.
 
const ScopegetScope () const &noexcept
 Returns scope of this order.
 
void setScope (const Scope &scope) noexcept
 Changes scope of this order.
 
std::string baseFieldsToString () const noexcept
 Returns string representation of this order event's fields.
 
- Public Member Functions inherited from dxfcpp::MarketEvent
const std::string & getEventSymbol () const &noexcept override
 Returns symbol of this event.
 
const std::optional< std::string > & getEventSymbolOpt () const &noexcept override
 Returns symbol of this event.
 
void setEventSymbol (const std::string &eventSymbol) noexcept override
 Changes symbol of this event.
 
std::int64_t getEventTime () const noexcept override
 Returns time when event was created or zero when time is not available.
 
void setEventTime (std::int64_t eventTime) noexcept override
 Changes event creation time.
 
- Public Member Functions inherited from dxfcpp::SharedEntity
template<typename T >
bool is () const noexcept
 Checks that pointer to the current type could be converted to type T* In other words: whether type T belongs to the type hierarchy in which the current type resides.
 
template<typename T >
std::shared_ptr< T > sharedAs () noexcept
 Returns a pointer to the current object wrapped in a smart pointer to type T.
 
template<typename T >
std::shared_ptr< T > sharedAs () const noexcept
 Returns a pointer to the current object wrapped in a smart pointer to type T.
 
- Public Member Functions inherited from dxfcpp::Entity
virtual ~Entity () noexcept=default
 The default virtual d-tor.
 

Static Public Member Functions

static void freeGraal (void *graalNative) noexcept
 Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
 
- Static Public Member Functions inherited from dxfcpp::Order
static void freeGraal (void *graalNative) noexcept
 Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
 

Static Public Attributes

static const EventTypeEnumTYPE = EventTypeEnum::ANALYTIC_ORDER
 Type identifier and additional information about the current event class.
 
- Static Public Attributes inherited from dxfcpp::Order
static const EventTypeEnumTYPE = EventTypeEnum::ORDER
 Type identifier and additional information about the current event class.
 
- Static Public Attributes inherited from dxfcpp::OrderBase
static constexpr std::uint32_t MAX_SEQUENCE = (1U << 22U) - 1U
 Maximum allowed sequence value.
 
- Static Public Attributes inherited from dxfcpp::IndexedEvent
static const EventFlag TX_PENDING = EventFlag::TX_PENDING
 0x01 - A bitmask to get transaction pending indicator from the value of eventFlags property.
 
static const EventFlag REMOVE_EVENT = EventFlag::REMOVE_EVENT
 0x02 - A bitmask to get removal indicator from the value of eventFlags property.
 
static const EventFlag SNAPSHOT_BEGIN = EventFlag::SNAPSHOT_BEGIN
 0x04 - A bitmask to get snapshot begin indicator from the value of eventFlags property.
 
static const EventFlag SNAPSHOT_END = EventFlag::SNAPSHOT_END
 0x08 - A bitmask to get snapshot end indicator from the value of eventFlags property.
 
static const EventFlag SNAPSHOT_SNIP = EventFlag::SNAPSHOT_SNIP
 0x10 - A bitmask to get snapshot snip indicator from the value of eventFlags property.
 
static const EventFlag SNAPSHOT_MODE = EventFlag::SNAPSHOT_MODE
 0x40 - A bitmask to set snapshot mode indicator into the value of eventFlags property.
 

Additional Inherited Members

- Protected Member Functions inherited from dxfcpp::MarketEvent
 MarketEvent (std::string eventSymbol) noexcept
 Protected constructor for concrete implementation classes that initializes eventSymbol property.
 

Detailed Description

Represents an extension of Order introducing analytic information, e.g.

adding to this order iceberg related information (icebergPeakSize, icebergHiddenSize, icebergExecutedSize). The collection of analytic order events of a symbol represents the most recent analytic information that is available about orders on the market at any given moment of time.

Analytic order is similar to a regular Order. In addition this event has few additional properties:

  • icebergPeakSize - the size of the peak, i.e. the visible part of the iceberg, that is being continually refilled until the order is fully traded or cancelled;
  • icebergHiddenSize - the prediction of current hidden size of the iceberg, as inferred by the model;
  • icebergExecutedSize - the executed size of the iceberg order. For IcebergType::SYNTHETIC type represents total executed size of all orders composing current iceberg;
  • AnalyticOrder::getIcebergType() - type of the iceberg, either native (exchange-managed) or synthetic (managed outside of the exchange).

Implementation details

This event is implemented on top of QDS records AnalyticOrder#<source-id>, where <source-id> is up to 4 ASCII characters with a mnemonic for the source like "GLBX".

Constructor & Destructor Documentation

◆ AnalyticOrder()

dxfcpp::AnalyticOrder::AnalyticOrder ( std::string eventSymbol)
inlineexplicitnoexcept

Creates new analytic order event with the specified event symbol.

Parameters
eventSymbolThe event symbol.

Member Function Documentation

◆ freeGraal()

void dxfcpp::AnalyticOrder::freeGraal ( void * graalNative)
staticnoexcept

Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).

Parameters
graalNativeThe pointer to the dxFeed Graal SDK structure.

◆ getIcebergExecutedSize()

double dxfcpp::AnalyticOrder::getIcebergExecutedSize ( ) const
inlinenoexcept

Returns iceberg executed size of this analytic order.

Returns
iceberg executed size of this analytic order.

◆ getIcebergHiddenSize()

double dxfcpp::AnalyticOrder::getIcebergHiddenSize ( ) const
inlinenoexcept

Returns iceberg hidden size of this analytic order.

Returns
iceberg hidden size of this analytic order.

◆ getIcebergPeakSize()

double dxfcpp::AnalyticOrder::getIcebergPeakSize ( ) const
inlinenoexcept

Returns iceberg peak size of this analytic order.

Returns
iceberg peak size of this analytic order.

◆ getIcebergType()

const IcebergType & dxfcpp::AnalyticOrder::getIcebergType ( ) const &
inlinenoexcept

Returns iceberg type of this analytic order.

Returns
iceberg type of this analytic order.

◆ setIcebergExecutedSize()

void dxfcpp::AnalyticOrder::setIcebergExecutedSize ( double icebergExecutedSize)
inlinenoexcept

Changes iceberg executed size of this analytic order.

Parameters
icebergExecutedSizeiceberg executed size of this analytic order.

◆ setIcebergHiddenSize()

void dxfcpp::AnalyticOrder::setIcebergHiddenSize ( double icebergHiddenSize)
inlinenoexcept

Changes iceberg hidden size of this analytic order.

Parameters
icebergHiddenSizeiceberg hidden size of this analytic order.

◆ setIcebergPeakSize()

void dxfcpp::AnalyticOrder::setIcebergPeakSize ( double icebergPeakSize)
inlinenoexcept

Changes iceberg peak size of this analytic order.

Parameters
icebergPeakSizeiceberg peak size of this analytic order.

◆ setIcebergType()

void dxfcpp::AnalyticOrder::setIcebergType ( const IcebergType & icebergType)
inlinenoexcept

Changes iceberg type of this analytic order.

Parameters
icebergTypeiceberg type of this analytic order.

◆ toGraal()

void * dxfcpp::AnalyticOrder::toGraal ( ) const
overridevirtualnoexcept

Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).

Fills the dxFeed Graal SDK structure's fields by the data of the current entity (recursively if necessary). Returns the pointer to the filled structure.

Returns
The pointer to the filled dxFeed Graal SDK structure

Implements dxfcpp::EventType.

◆ toString()

std::string dxfcpp::AnalyticOrder::toString ( ) const
overridevirtualnoexcept

Returns a string representation of the current object.

Returns
a string representation

Reimplemented from dxfcpp::SharedEntity.

◆ withEventSymbol()

AnalyticOrder & dxfcpp::AnalyticOrder::withEventSymbol ( const std::string & eventSymbol)
inlineoverridevirtualnoexcept

Changes event's symbol and returns the current analytic order.

Parameters
eventSymbolThe symbol of this event.
Returns
The current analytic order.

Reimplemented from dxfcpp::Order.

◆ withEventSymbolShared()

AnalyticOrder::Ptr dxfcpp::AnalyticOrder::withEventSymbolShared ( const std::string & eventSymbol)
inlinenoexcept

Changes event's symbol and returns a shared pointer to the current analytic order.

Warning
Please do not use this method unless the object was created with std::shared_ptr<Order>(new Order(...)) or std::make_shared<Order>(...)
Parameters
eventSymbolThe symbol of this event.
Returns
A shared pointer to the current order.