dxFeed Graal CXX API
|
Time and Sale represents a trade or other market event with price, like market open/close price, etc. More...
#include <TimeAndSale.hpp>
Public Types | |
using | Ptr = std::shared_ptr<TimeAndSale> |
The alias to a type of shared pointer to the TimeAndSale object. | |
using | Unique = std::unique_ptr<TimeAndSale> |
The alias to a type of unique pointer to the TimeAndSale object. | |
Public Types inherited from MarketEvent | |
using | Ptr = std::shared_ptr<MarketEvent> |
The alias to a type of shared pointer to the MarketEvent object. | |
Public Types inherited from EventTypeWithSymbol< std::string > | |
using | Ptr |
The alias to a type of shared pointer to the EventTypeWithSymbol's child object. | |
Public Types inherited from EventType | |
using | Ptr = std::shared_ptr<EventType> |
The alias to a type of shared pointer to the EventType object. | |
Public Types inherited from SharedEntity | |
using | Ptr = std::shared_ptr<SharedEntity> |
The alias to a type of shared pointer to the SharedEntity object. | |
Public Types inherited from TimeSeriesEvent | |
using | Ptr = std::shared_ptr<TimeSeriesEvent> |
The alias to a type of shared pointer to the TimeSeriesEvent object. | |
Public Types inherited from 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 override |
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary). | |
TimeAndSale () noexcept=default | |
Creates new time and sale event with default values. | |
TimeAndSale (std::string eventSymbol) noexcept | |
Creates new time and sale event with the specified event symbol. | |
const IndexedEventSource & | getSource () const &noexcept override |
Returns the 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. | |
std::int64_t | getIndex () const noexcept override |
Returns unique per-symbol index of this event. | |
void | setIndex (std::int64_t index) override |
Changes unique per-symbol index of this event. | |
std::int64_t | getTime () const noexcept override |
Returns timestamp of the event in milliseconds. | |
void | setTime (std::int64_t time) noexcept |
Changes timestamp of the event in milliseconds. | |
std::int64_t | getTimeNanos () const noexcept |
Returns time of the original event in nanoseconds. | |
void | setTimeNanos (std::int64_t timeNanos) noexcept |
Changes time of the original event. | |
void | setTimeNanoPart (std::int32_t timeNanoPart) noexcept |
Changes microseconds and nanoseconds time part of the original event. | |
std::int32_t | getTimeNanoPart () const noexcept |
Returns microseconds and nanoseconds time part of the original event. | |
std::int32_t | getSequence () const noexcept |
Returns the sequence number of this event to distinguish events that have the same time. | |
void | setSequence (std::int32_t sequence) |
Changes sequence number of this event. | |
std::int16_t | getExchangeCode () const noexcept |
Returns exchange code of this time and sale event. | |
std::string | getExchangeCodeString () const noexcept |
Returns exchange code of this time and sale event as UTF8 string. | |
void | setExchangeCode (char exchangeCode) noexcept |
Changes exchange code of this time and sale event. | |
void | setExchangeCode (std::int16_t exchangeCode) noexcept |
Changes exchange code of this time and sale event. | |
double | getPrice () const noexcept |
Returns price of this time and sale event. | |
void | setPrice (double price) noexcept |
Changes price of this time and sale event. | |
double | getSize () const noexcept |
Returns size of this time and sale event. | |
void | setSize (double size) noexcept |
Changes size of this time and sale event. | |
double | getBidPrice () const noexcept |
Returns the current bid price on the market when this time and sale event had occurred. | |
void | setBidPrice (double bidPrice) noexcept |
Changes the current bid price on the market when this time and sale event had occurred. | |
double | getAskPrice () const noexcept |
Returns the current ask price on the market when this time and sale event had occurred. | |
void | setAskPrice (double askPrice) noexcept |
Changes price of this time and sale event.the current ask price on the market when this time and sale event had occurred. | |
const std::string & | getExchangeSaleConditions () const &noexcept |
Returns sale conditions provided for this event by data feed. | |
const std::optional< std::string > & | getExchangeSaleConditionsOpt () const &noexcept |
Returns sale conditions provided for this event by data feed. | |
void | setExchangeSaleConditions (std::string exchangeSaleConditions) noexcept |
Changes sale conditions provided for this event by data feed. | |
char | getTradeThroughExempt () const noexcept |
Returns TradeThroughExempt flag of this time and sale event. | |
void | setTradeThroughExempt (char tradeThroughExempt) |
Changes TradeThroughExempt flag of this time and sale event. | |
const Side & | getAggressorSide () const &noexcept |
Returns aggressor side of this time and sale event. | |
void | setAggressorSide (const Side &side) noexcept |
Changes aggressor side of this time and sale event. | |
bool | isSpreadLeg () const noexcept |
Returns whether this event represents a spread leg. | |
void | setSpreadLeg (bool spreadLeg) noexcept |
Changes whether this event represents a spread leg. | |
bool | isExtendedTradingHours () const noexcept |
Returns whether this event represents an extended trading hours sale. | |
void | setExtendedTradingHours (bool extendedTradingHours) noexcept |
Changes whether this event represents an extended trading hours sale. | |
bool | isValidTick () const noexcept |
Returns whether this event represents a valid intraday tick. | |
void | setValidTick (bool validTick) noexcept |
Changes whether this event represents a valid intraday tick. | |
const TimeAndSaleType & | getType () const &noexcept |
Returns type of this time and sale event. | |
void | setType (const TimeAndSaleType &type) noexcept |
Changes type of this time and sale event. | |
bool | isNew () const noexcept |
Returns whether this is a new event (not cancellation or correction). | |
bool | isCorrection () const noexcept |
Returns whether this is a correction of a previous event. | |
bool | isCancel () const noexcept |
Returns whether this is a cancellation of a previous event. | |
const std::string & | getBuyer () const &noexcept |
Returns buyer of this time and sale event. | |
const std::optional< std::string > & | getBuyerOpt () const &noexcept |
Returns buyer of this time and sale event. | |
void | setBuyer (std::string buyer) noexcept |
Changes buyer of this time and sale event. | |
const std::string & | getSeller () const &noexcept |
Returns seller of this time and sale event. | |
const std::optional< std::string > & | getSellerOpt () const &noexcept |
Returns seller of this time and sale event. | |
void | setSeller (std::string seller) noexcept |
Changes seller of this time and sale event. | |
std::string | toString () const noexcept override |
Returns a string representation of the current object. | |
Public Member Functions inherited from 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 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 Entity | |
virtual | ~Entity () noexcept=default |
The default virtual d-tor. | |
Public Member Functions inherited from TimeSeriesEvent | |
const IndexedEventSource & | getSource () const &noexcept override |
Returns the source identifier for this event, which is always DEFAULT for time-series events. | |
std::int64_t | getIndex () const noexcept override |
Returns unique per-symbol index of this event. | |
virtual std::int64_t | getEventId () const noexcept |
Returns unique per-symbol index of this event. | |
Static Public Member Functions | |
static Ptr | fromGraal (void *graalNative) |
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure. | |
static void | freeGraal (void *graalNative) |
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary). | |
Static Public Attributes | |
static const EventTypeEnum & | TYPE = EventTypeEnum::TIME_AND_SALE |
Type identifier and additional information about the current event class. | |
static constexpr std::uint32_t | MAX_SEQUENCE = (1U << 22U) - 1U |
Maximum allowed sequence value. | |
Static Public Attributes inherited from 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. | |
Friends | |
class | OptionSale |
Additional Inherited Members | |
Protected Member Functions inherited from MarketEvent | |
MarketEvent (std::string eventSymbol) noexcept | |
Protected constructor for concrete implementation classes that initializes eventSymbol property. | |
Time and Sale represents a trade or other market event with price, like market open/close price, etc.
Time and Sales are intended to provide information about trades in a continuous time slice (unlike Trade events which are supposed to provide snapshot about the current last trade).
Time and Sale events have unique index which can be used for later correction/cancellation processing.
Some time and sale sources provide a consistent view of the set of known time and sales for a given time range when used with DXFeedTimeSeriesSubscription}. The corresponding information is carried in eventFlags property. The logic behind this property is detailed in IndexedEvent class documentation. Multiple event sources for the same symbol are not supported for time and sales, thus source property is always DEFAULT.
Regular subscription via DXFeedSubscription produces a stream of time and sale events as they happen and their eventFlags are always zero.
Publishing of time and sales events follows the general rules explained in TimeSeriesEvent class documentation.
This event is implemented on top of QDS record TimeAndSale
.
|
inlineexplicitnoexcept |
Creates new time and sale event with the specified event symbol.
eventSymbol | The event symbol. |
|
static |
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
graalNative | The pointer to the dxFeed Graal SDK structure. |
|
static |
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
graalNative | The pointer to the dxFeed Graal SDK structure. |
std::invalid_argument |
|
inlinenoexcept |
Returns aggressor side of this time and sale event.
|
inlinenoexcept |
Returns the current ask price on the market when this time and sale event had occurred.
|
inlinenoexcept |
Returns the current bid price on the market when this time and sale event had occurred.
|
inlinenoexcept |
Returns buyer of this time and sale event.
std::string{"<null>"}
).
|
inlinenoexcept |
Returns buyer of this time and sale event.
|
inlineoverridevirtualnoexcept |
Returns transactional event flags.
See EventFlag "Event Flags" section.
Implements IndexedEvent.
|
inlineoverridevirtualnoexcept |
Returns transactional event flags.
See EventFlag "Event Flags" section.
Implements IndexedEvent.
|
inlinenoexcept |
Returns exchange code of this time and sale event.
|
inlinenoexcept |
Returns exchange code of this time and sale event as UTF8 string.
|
inlinenoexcept |
Returns sale conditions provided for this event by data feed.
This field format is specific for every particular data feed.
std::string{"<null>"}
).
|
inlinenoexcept |
Returns sale conditions provided for this event by data feed.
This field format is specific for every particular data feed.
|
inlineoverridevirtualnoexcept |
Returns unique per-symbol index of this event.
The index is composed of time and sequence. Changing either time or sequence changes event index.
Implements IndexedEvent.
|
inlinenoexcept |
Returns price of this time and sale event.
|
inlinenoexcept |
Returns seller of this time and sale event.
std::string{"<null>"}
).
|
inlinenoexcept |
Returns seller of this time and sale event.
|
inlinenoexcept |
Returns the sequence number of this event to distinguish events that have the same time.
This sequence number does not have to be unique and does not need to be sequential. Sequence can range from 0 to MAX_SEQUENCE.
|
inlinenoexcept |
Returns size of this time and sale event.
|
inlineoverridevirtualnoexcept |
Returns the source of this event.
Implements IndexedEvent.
References IndexedEventSource::DEFAULT.
|
inlineoverridevirtualnoexcept |
Returns timestamp of the event in milliseconds.
Implements TimeSeriesEvent.
|
inlinenoexcept |
Returns microseconds and nanoseconds time part of the original event.
|
inlinenoexcept |
Returns time of the original event in nanoseconds.
Time is measured in nanoseconds between the current time and midnight, January 1, 1970 UTC.
|
inlinenoexcept |
Returns TradeThroughExempt flag of this time and sale event.
|
inlinenoexcept |
Returns type of this time and sale event.
Referenced by isCancel(), isCorrection(), and isNew().
|
inlinenoexcept |
Returns whether this is a cancellation of a previous event.
It is false
for newly created time and sale event.
true
if this is a cancellation of a previous event References TimeAndSaleType::CANCEL, and getType().
|
inlinenoexcept |
Returns whether this is a correction of a previous event.
It is false
for newly created time and sale event.
true
if this is a correction of a previous event References TimeAndSaleType::CORRECTION, and getType().
|
inlinenoexcept |
Returns whether this event represents an extended trading hours sale.
true
if this event represents an extended trading hours sale.
|
inlinenoexcept |
Returns whether this is a new event (not cancellation or correction).
It is true
for newly created time and sale event.
true
if this is a new event (not cancellation or correction). References getType(), and TimeAndSaleType::NEW.
|
inlinenoexcept |
Returns whether this event represents a spread leg.
true
if this event represents a spread leg.
|
inlinenoexcept |
Returns whether this event represents a valid intraday tick.
Note, that a correction for a previously distributed valid tick represents a new valid tick itself, but a cancellation of a previous valid tick does not.
true
if this event represents a valid intraday tick.
|
inlinenoexcept |
Changes aggressor side of this time and sale event.
side | aggressor side of this time and sale event. |
|
inlinenoexcept |
Changes price of this time and sale event.the current ask price on the market when this time and sale event had occurred.
askPrice | the current ask price on the market when this time and sale event had occurred. |
|
inlinenoexcept |
Changes the current bid price on the market when this time and sale event had occurred.
bidPrice | the current bid price on the market when this time and sale event had occurred. |
|
inlinenoexcept |
Changes buyer of this time and sale event.
buyer | buyer of this time and sale event. |
|
inlineoverridevirtualnoexcept |
Changes transactional event flags.
See EventFlag "Event Flags" section.
eventFlags | transactional event flags' mask. |
Implements IndexedEvent.
|
inlineoverridevirtualnoexcept |
Changes transactional event flags.
See EventFlag "Event Flags" section.
eventFlags | transactional event flags. |
Implements IndexedEvent.
|
noexcept |
Changes exchange code of this time and sale event.
exchangeCode | exchange code of this time and sale event. |
|
inlinenoexcept |
Changes exchange code of this time and sale event.
exchangeCode | exchange code of this time and sale event. |
|
inlinenoexcept |
Changes sale conditions provided for this event by data feed.
exchangeSaleConditions | sale conditions. |
|
inlinenoexcept |
Changes whether this event represents an extended trading hours sale.
extendedTradingHours | true if this event represents an extended trading hours sale. |
|
inlineoverridevirtual |
Changes unique per-symbol index of this event.
The index is composed of time and sequence and invocation of this method changes time and sequence. Do not use this method directly. Change time and/or sequence.
index | the event index. |
Implements IndexedEvent.
|
inlinenoexcept |
Changes price of this time and sale event.
price | price of this time and sale event. |
|
inlinenoexcept |
Changes seller of this time and sale event.
seller | seller of this time and sale event. |
|
inline |
Changes sequence number of this event.
sequence | the sequence. |
References MAX_SEQUENCE.
|
inlinenoexcept |
Changes size of this time and sale event.
size | size of this time and sale event. |
|
inlinenoexcept |
Changes whether this event represents a spread leg.
spreadLeg | true if this event represents a spread leg. |
|
inlinenoexcept |
Changes timestamp of the event in milliseconds.
time | timestamp of the event in milliseconds. |
Referenced by setTimeNanos().
|
inlinenoexcept |
Changes microseconds and nanoseconds time part of the original event.
timeNanoPart | microseconds and nanoseconds time part of the original event. |
|
inlinenoexcept |
Changes time of the original event.
Time is measured in nanoseconds between the current time and midnight, January 1, 1970 UTC.
timeNanos | time of the original event in nanoseconds. |
References setTime().
|
inline |
Changes TradeThroughExempt flag of this time and sale event.
tradeThroughExempt | TradeThroughExempt flag of this time and sale event. |
|
inlinenoexcept |
Changes type of this time and sale event.
type | type of this time and sale event. |
|
inlinenoexcept |
Changes whether this event represents a valid intraday tick.
validTick | true if this event represents a valid intraday tick. |
|
overridevirtual |
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.
Implements EventType.
|
overridevirtualnoexcept |
Returns a string representation of the current object.
Reimplemented from EventType.
|
staticconstexpr |