dxFeed Graal CXX API v5.0.0
Loading...
Searching...
No Matches
CandlePriceLevel Struct Reference

Candle price level attribute of CandleSymbol defines how candles shall be aggregated in respect to a price interval. More...

#include <CandlePriceLevel.hpp>

+ Inheritance diagram for CandlePriceLevel:

Public Member Functions

double getValue () const noexcept
 Returns price level value.
 
std::string toString () const
 Returns string representation of this price level.
 
std::string changeAttributeForSymbol (const StringLike &symbol) const override
 Returns candle event symbol string with this candle price level set.
 

Static Public Member Functions

static CandlePriceLevel parse (const StringLike &s)
 Parses string representation of candle price level into an object.
 
static CandlePriceLevel valueOf (double value)
 Returns candle price level with the given value.
 
static CandlePriceLevel getAttributeForSymbol (const StringLike &symbol)
 Returns candle price level of the given candle symbol string.
 
static std::string normalizeAttributeForSymbol (const StringLike &symbol)
 Returns candle symbol string with the normalized representation of the candle price level attribute.
 

Static Public Attributes

static const CandlePriceLevel DEFAULT {math::NaN}
 Default price level corresponds to NaN (std::numeric_limits<double>::quiet_NaN())
 
static const std::string ATTRIBUTE_KEY {"pl"}
 The attribute key that is used to store the value of CandlePriceLevel in a symbol string using methods of MarketEventSymbols class.
 

Detailed Description

Candle price level attribute of CandleSymbol defines how candles shall be aggregated in respect to a price interval.

The negative or infinite values of a price interval are treated as exceptional.

  • Price interval may be equal to zero. It means every unique price creates a particular candle to aggregate all events with this price for the chosen CandlePeriod.
  • Non-zero price level creates a sequence of intervals starting from 0: ...,[-pl;0),[0;pl),[pl;2*pl),...,[n*pl,n*pl+pl). Events aggregated by chosen CandlePeriod and price intervals.

Implementation details

This attribute is encoded in a symbol string with MarketEventSymbols.getAttributeStringByKey, changeAttributeStringByKey, and removeAttributeStringByKey methods. The key to use with these methods is available via CandlePriceLevel::ATTRIBUTE_KEY constant. The value that this key shall be set to is equal to the corresponding CandlePriceLevel::toString()

Member Function Documentation

◆ changeAttributeForSymbol()

std::string CandlePriceLevel::changeAttributeForSymbol ( const StringLike & symbol) const
overridevirtual

Returns candle event symbol string with this candle price level set.

Parameters
symboloriginal candle event symbol.
Returns
candle event symbol string with this candle price level set.

Implements CandleSymbolAttribute.

◆ getAttributeForSymbol()

CandlePriceLevel CandlePriceLevel::getAttributeForSymbol ( const StringLike & symbol)
static

Returns candle price level of the given candle symbol string.

The result is CandlePriceLevel::DEFAULT if the symbol does not have a candle price level attribute.

Parameters
symbolcandle symbol string.
Returns
candle price level of the given candle symbol string.

References DEFAULT, and parse().

◆ getValue()

double CandlePriceLevel::getValue ( ) const
noexcept

Returns price level value.

For example, the value of 1 represents [0;1), [1;2) and so on intervals to build candles.

Returns
price level value.

◆ normalizeAttributeForSymbol()

std::string CandlePriceLevel::normalizeAttributeForSymbol ( const StringLike & symbol)
static

Returns candle symbol string with the normalized representation of the candle price level attribute.

Parameters
symbolcandle symbol string.
Returns
candle symbol string with the normalized representation of the candle price level attribute.

References DEFAULT, and parse().

◆ parse()

CandlePriceLevel CandlePriceLevel::parse ( const StringLike & s)
static

Parses string representation of candle price level into an object.

Any string returned by CandlePriceLevel::toString() can be parsed, and a case is ignored for parsing.

Parameters
sstring representation of candle price level.
Returns
candle price level.

References valueOf().

Referenced by getAttributeForSymbol(), and normalizeAttributeForSymbol().

◆ toString()

std::string CandlePriceLevel::toString ( ) const

Returns string representation of this price level.

The string representation is composed of value. This string representation can be converted back into an object with the CandlePriceLevel::parse() method.

Returns
string representation of this price level.

◆ valueOf()

CandlePriceLevel CandlePriceLevel::valueOf ( double value)
static

Returns candle price level with the given value.

Parameters
valuecandle price level value.
Returns
candle price level with the given value and type.
Exceptions
InvalidArgumentExceptionif value is incorrect

References DEFAULT.

Referenced by parse().

Member Data Documentation

◆ ATTRIBUTE_KEY

const std::string CandlePriceLevel::ATTRIBUTE_KEY {"pl"}
static

The attribute key that is used to store the value of CandlePriceLevel in a symbol string using methods of MarketEventSymbols class.

The value of this constant is "pl". The value that this key shall be set to is equal to the corresponding CandlePriceLevel::toString()