|
void * | toGraal () const override |
| Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
|
|
| OtcMarketsOrder () noexcept=default |
| Creates new OTC Markets order event with default values.
|
|
| OtcMarketsOrder (std::string eventSymbol) noexcept |
| Creates new OTC Markets order event with the specified event symbol.
|
|
OtcMarketsOrder & | withEventSymbol (const std::string &eventSymbol) noexcept override |
| Changes event's symbol and returns the current OTC Markets order.
|
|
OtcMarketsOrder & | withEventTime (std::int64_t eventTime) noexcept |
| Changes event's creation time and returns the current OTC Markets order.
|
|
OtcMarketsOrder & | withSource (const OrderSource &source) noexcept |
| Changes event's source and returns the current OTC Markets order.
|
|
OtcMarketsOrder & | withEventFlags (std::int32_t eventFlags) noexcept |
| Changes transactional event flags and returns the current OTC Markets order.
|
|
OtcMarketsOrder & | withEventFlags (const EventFlagsMask &eventFlags) noexcept |
| Changes transactional event flags and returns the current OTC Markets order.
|
|
OtcMarketsOrder & | withIndex (std::int64_t index) noexcept |
| Changes unique per-symbol index of this OTC Markets order and returns it.
|
|
OtcMarketsOrder & | withTime (std::int64_t time) noexcept |
| Changes time of this OTC Markets order and returns it.
|
|
OtcMarketsOrder & | withTimeNanoPart (std::int32_t timeNanoPart) noexcept |
| Changes microseconds and nanoseconds time part of this OTC Markets order.
|
|
OtcMarketsOrder & | withSequence (std::int32_t sequence) noexcept |
| Changes sequence number of this OTC Markets order.
|
|
OtcMarketsOrder & | withTimeNanos (std::int64_t timeNanos) noexcept |
| Changes time of this OTC Markets order and returns it.
|
|
OtcMarketsOrder & | withAction (const OrderAction &action) noexcept |
| Changes action of this OTC Markets order and returns it.
|
|
OtcMarketsOrder & | withActionTime (std::int64_t actionTime) noexcept |
| Changes time of the last action and returns current OTC Markets order.
|
|
OtcMarketsOrder & | withOrderId (std::int64_t orderId) noexcept |
| Changes order ID.
|
|
OtcMarketsOrder & | withAuxOrderId (std::int64_t auxOrderId) noexcept |
| Changes auxiliary order ID.
|
|
OtcMarketsOrder & | withPrice (double price) noexcept |
| Changes price of this OTC Markets order.
|
|
OtcMarketsOrder & | withSize (double size) noexcept |
| Changes size of this OTC Markets order.
|
|
OtcMarketsOrder & | withExecutedSize (double executedSize) noexcept |
| Changes executed size of this OTC Markets order.
|
|
OtcMarketsOrder & | withCount (std::int64_t count) noexcept |
| Changes number of individual orders in this aggregate order.
|
|
OtcMarketsOrder & | withTradeId (std::int64_t tradeId) noexcept |
| Changes trade ID.
|
|
OtcMarketsOrder & | withTradePrice (double tradePrice) noexcept |
| Changes trade price.
|
|
OtcMarketsOrder & | withTradeSize (double tradeSize) noexcept |
| Changes trade size.
|
|
OtcMarketsOrder & | withExchangeCode (char exchangeCode) noexcept |
| Changes exchange code of this OTC Markets order.
|
|
OtcMarketsOrder & | withExchangeCode (std::int16_t exchangeCode) noexcept |
| Changes exchange code of this OTC Markets order.
|
|
OtcMarketsOrder & | withOrderSide (const Side &side) noexcept |
| Changes side of this OTC Markets order.
|
|
OtcMarketsOrder & | withScope (const Scope &scope) noexcept |
| Changes scope of this OTC Markets order.
|
|
OtcMarketsOrder & | withMarketMaker (std::string marketMaker) noexcept |
| Changes market maker or other aggregate identifier of this OTC Markets order.
|
|
std::int32_t | getQuoteAccessPayment () const noexcept |
| Returns Quote Access Payment (QAP) of this OTC Markets order.
|
|
void | setQuoteAccessPayment (std::int32_t quoteAccessPayment) noexcept |
| Changes Quote Access Payment (QAP) of this OTC Markets order.
|
|
OtcMarketsOrder & | withQuoteAccessPayment (std::int32_t quoteAccessPayment) noexcept |
| Changes Quote Access Payment (QAP) and returns the current OTC Markets order.
|
|
bool | isOpen () const noexcept |
| Returns whether this event is available for business within the operating hours of the OTC Link system.
|
|
void | setOpen (bool open) noexcept |
| Changes whether this event is available for business within the operating hours of the OTC Link system.
|
|
OtcMarketsOrder & | withOpen (bool open) noexcept |
| Changes whether this event is available for business within the operating hours of the OTC Link system.
|
|
bool | isUnsolicited () const noexcept |
| Returns whether this event is unsolicited.
|
|
void | setUnsolicited (bool unsolicited) noexcept |
| Changes whether this event is unsolicited.
|
|
OtcMarketsOrder & | withUnsolicited (bool unsolicited) noexcept |
| Changes whether this event is unsolicited.
|
|
const OtcMarketsPriceType & | getOtcMarketsPriceType () const &noexcept |
| Returns OTC Markets price type of this OTC Markets order events.
|
|
void | setOtcMarketsPriceType (const OtcMarketsPriceType &otcPriceType) noexcept |
| Changes OTC Markets price type of this OTC Markets order events.
|
|
OtcMarketsOrder & | withOtcMarketsPriceType (const OtcMarketsPriceType &otcPriceType) noexcept |
| Changes OTC Markets price type of this OTC Markets order events.
|
|
bool | isSaturated () const noexcept |
| Returns whether this event should NOT be considered for the inside price.
|
|
void | setSaturated (bool saturated) noexcept |
| Changes whether this event should NOT be considered for the inside price.
|
|
OtcMarketsOrder & | withSaturated (bool saturated) noexcept |
| Changes whether this event should NOT be considered for the inside price.
|
|
bool | isAutoExecution () const noexcept |
| Returns whether this event is in 'AutoEx' mode.
|
|
void | setAutoExecution (bool autoExecution) noexcept |
| Changes whether this event is in 'AutoEx' mode.
|
|
OtcMarketsOrder & | withAutoExecution (bool autoExecution) noexcept |
| Changes whether this event is in 'AutoEx' mode.
|
|
bool | isNmsConditional () const noexcept |
| Returns whether this event represents a NMS conditional.
|
|
void | setNmsConditional (bool nmsConditional) noexcept |
| Changes whether this event represents a NMS conditional.
|
|
OtcMarketsOrder & | withNmsConditional (bool nmsConditional) noexcept |
| Changes whether this event represents a NMS conditional.
|
|
std::string | toString () const noexcept override |
| Returns a string representation of the current object.
|
|
| 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 & | withEventTime (std::int64_t eventTime) noexcept |
| Changes event's creation time and returns the current order.
|
|
Order & | withSource (const OrderSource &source) noexcept |
| Changes event's source and returns the current order.
|
|
Order & | withEventFlags (std::int32_t eventFlags) noexcept |
| Changes transactional event flags and returns the current order.
|
|
Order & | withEventFlags (const EventFlagsMask &eventFlags) noexcept |
| Changes transactional event flags and returns the current order.
|
|
Order & | withIndex (std::int64_t index) noexcept |
| Changes unique per-symbol index of this order and returns it.
|
|
Order & | withTime (std::int64_t time) noexcept |
| Changes time of this order and returns it.
|
|
Order & | withTimeNanoPart (std::int32_t timeNanoPart) noexcept |
| Changes microseconds and nanoseconds time part of this order.
|
|
Order & | withSequence (std::int32_t sequence) noexcept |
| Changes sequence number of this order.
|
|
Order & | withTimeNanos (std::int64_t timeNanos) noexcept |
| Changes time of this order and returns it.
|
|
Order & | withAction (const OrderAction &action) noexcept |
| Changes action of this order and returns it.
|
|
Order & | withActionTime (std::int64_t actionTime) noexcept |
| Changes time of the last action and returns current order.
|
|
Order & | withOrderId (std::int64_t orderId) noexcept |
| Changes order ID.
|
|
Order & | withAuxOrderId (std::int64_t auxOrderId) noexcept |
| Changes auxiliary order ID.
|
|
Order & | withPrice (double price) noexcept |
| Changes price of this order.
|
|
Order & | withSize (double size) noexcept |
| Changes size of this order.
|
|
Order & | withExecutedSize (double executedSize) noexcept |
| Changes executed size of this order.
|
|
Order & | withCount (std::int64_t count) noexcept |
| Changes number of individual orders in this aggregate order.
|
|
Order & | withTradeId (std::int64_t tradeId) noexcept |
| Changes trade ID.
|
|
Order & | withTradePrice (double tradePrice) noexcept |
| Changes trade price.
|
|
Order & | withTradeSize (double tradeSize) noexcept |
| Changes trade size.
|
|
Order & | withExchangeCode (char exchangeCode) noexcept |
| Changes exchange code of this order.
|
|
Order & | withExchangeCode (std::int16_t exchangeCode) noexcept |
| Changes exchange code of this order.
|
|
Order & | withOrderSide (const Side &side) noexcept |
| Changes side of this order.
|
|
Order & | withScope (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.
|
|
Order & | withMarketMaker (std::string marketMaker) noexcept |
| Changes market maker or other aggregate identifier of this order.
|
|
| 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 OrderSource & | getSource () 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) 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) |
| 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 OrderAction & | getAction () 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) |
| Changes exchange code of this order.
|
|
void | setExchangeCode (std::int16_t exchangeCode) noexcept |
| Changes exchange code of this order.
|
|
const Side & | getOrderSide () const &noexcept |
| Returns side of this order.
|
|
void | setOrderSide (const Side &side) noexcept |
| Changes side of this order.
|
|
const Scope & | getScope () 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.
|
|
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.
|
|
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.
|
|
virtual | ~Entity () noexcept=default |
| The default virtual d-tor.
|
|
Represents an extension of Order for the symbols traded on the OTC Markets.
It includes the OTC Markets specific quote data, such as Quote Access Payment (QAP) value, Quote Price Type, Open/Closed status, and Unsolicited quote indicator. The original event (OTC Quote) published by the exchange is presented in the form of two separate OTCMarketsOrder events (bid and ask side). Note that the description of the fields (e.g. QAP) uses the original "quote" term.
For more information about original fields, QAP, Quote Flags and Extended Quote Flags, see OTC Markets Multicast Data Feed.
For more information about display requirements, see OTC Markets Display Requirements.
Like regular orders, OTC Markets order events arrive from multiple sources for the same market symbol and are distinguished by their index. It is unique across all the sources of depth information for the symbol. The event with size either 0
or NaN
is a signal to remove previously received order for the corresponding index. The method hasSize() is a convenient method to test for size presence.
Quote Flags from OTC Markets are mapped to the access methods of this class as follows:
Extended Quote Flags
Extended Quote Flags from OTC Markets are mapped to the access methods of this class as follows:
Event flags, transactions and snapshots
OTC Markets order event sources provide a consistent view of the order book. Their updates may incorporate multiple changes to individual orders that have to be processed at the same time. The corresponding information is carried in eventFlags property.
See the "Event Flags" section of OrderBase class documentation for details.
Publishing order books
When publishing an order event with DXPublisher::publishEvents() method, least significant 32 bits of order index must be in a range of from 0 to std::numeric_limits<std::int32_t>::max()
inclusive. Use setSource() method after setIndex() to properly include source identifier into the index.
A snapshot has to be published in the descending order of index, starting with an event with the largest index and marking it with EventFlag::SNAPSHOT_BEGIN bit in eventFlags, and finishing the snapshot with an event that has zero 32 least significant bits of index. EventFlag::SNAPSHOT_END bit in eventFlags is optional during publishing. It will be properly set on receiving end anyway.
Limitations
This event type cannot be used with DXFeed::getLastEvent() method.
Full Order Book Support
Some feeds provide support for "Full Order Book" (FOB) where additional fields will be available:
Implementation details
This event is implemented on top of QDS records OtcMarketsOrder#<source-id>
, where <source-id>
is up to 4 ASCII characters with a mnemonic for the source like "pink".