|
const std::string & | getBaseSymbol () const &noexcept |
| Returns base market symbol without attributes.
|
|
const std::optional< CandleExchange > & | getExchange () const &noexcept |
| Returns exchange attribute of this symbol.
|
|
const std::optional< CandlePrice > & | getPrice () const &noexcept |
| Returns price type attribute of this symbol.
|
|
const std::optional< CandleSession > & | getSession () const &noexcept |
| Returns session attribute of this symbol.
|
|
const std::optional< CandlePeriod > & | getPeriod () const &noexcept |
| Returns aggregation period of this symbol.
|
|
const std::optional< CandleAlignment > & | getAlignment () const &noexcept |
| Returns alignment attribute of this symbol.
|
|
const std::optional< CandlePriceLevel > & | getPriceLevel () const &noexcept |
| Returns price level attribute of this symbol.
|
|
const std::string & | toString () const &noexcept |
| Returns string representation of this symbol.
|
|
virtual void * | toGraal () const |
| Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
|
|
|
static void | freeGraal (void *graalNative) |
| Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
|
|
static CandleSymbol | fromGraal (void *graalNative) |
| Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
|
|
static CandleSymbol | valueOf (std::string symbol) noexcept |
| Converts the given string symbol into the candle symbol object.
|
|
static CandleSymbol | valueOf (std::string symbol, const CandleSymbolAttributeVariant &attribute) noexcept |
| Converts the given string symbol into the candle symbol object with the specified attribute set.
|
|
static CandleSymbol | valueOf (std::string symbol, std::initializer_list< CandleSymbolAttributeVariant > attributes) noexcept |
| Converts the given string symbol into the candle symbol object with the specified attributes set.
|
|
Symbol that should be used with DXFeedSubscription class to subscribe for Candle events.
DXFeedSubscription
also accepts a string representation of the candle symbol for subscription.
String representation
The string representation of the candle symbol consist of a baseSymbol followed by an optional '&' with an exchange code letter and followed by an optional list of comma-separated key=value pairs in curly braces:
‘<baseSymbol> [ ’&' <exchange> ] [ '{' <key1>=<value1> [ ',' <key2>=<value2> ] ... '}' ]`
Properties of the candle symbol correspond to the keys in the string representation in the following way:
-
Empty key corresponds to period — aggregation period of this symbol. The period value is composed of an optional value which defaults to 1 when not specified, followed by a type string which is defined by one of the CandleType values and can be abbreviated to first letters. For example, a daily candle of "IBM" base symbol can be specified as "IBM{=d}" and 15 minute candle on it as "IBM{=15m}". The shortest possible abbreviation for CandleType::MONTH is "mo", so the monthly candle can be specified as "IBM{=mo}". When period is not specified, then the CandlePeriod::TICK aggregation period is assumed as default. Note, that tick aggregation may not be available on the demo system which is limited to a subset of symbols and aggregation periods.
-
"price" key corresponds to price — price type attribute of this symbol. The CandlePrice defines possible values with CandlePrice::LAST being default. For legacy backwards-compatibility purposes, most of the price values cannot be abbreviated, so a one-minute candle of "EUR/USD" bid price shall be specified with "EUR/USD{=m,price=bid}" candle symbol string. However, the CandlePrice::SETTLEMENT can be abbreviated to "s", so a daily candle on "/ES" futures settlement prices can be specified with "/ES{=d,price=s}" string.
-
"tho" key with a value of "true" corresponds to session set to CandleSession::REGULAR which limits the candle to trading hours only, so a 133 tick candles on "GOOG" base symbol collected over trading hours only can be specified with "GOOG{=133t,tho=true}" string. Note, that the default daily candles for US equities are special for historical reasons and correspond to the way US equity exchange report their daily summary data. The volume the US equity default daily candle corresponds to the total daily traded volume, while open, high, low, and close correspond to the regular trading hours only.
-
"a" key corresponds to alignment — alignment attribute of this symbol. The CandleAlignment defines possible values with CandleAlignment::MIDNIGHT being default. The alignment values can be abbreviated to the first letter. So, a 1 hour candle on a symbol "AAPL" that starts at the regular trading session at 9:30 am ET can be specified with "AAPL{=h,a=s,tho=true}". Contrast that to the "AAPL{=h,tho=true}" candle that is aligned at midnight and thus starts at 9:00 am.
-
"pl" key corresponds to price level — price level attribute of this symbol. The CandlePriceLevel defines additional axis to split candles within particular price corridor in addition to CandlePeriod attribute with the default value
NaN
. So a one-minute candles of "AAPL" with price level 0.1 shall be specified with "AAPL{=m,pl=0.1}".
Keys in the candle symbol are case-sensitive, while values are not. The CandleSymbol::valueOf() method parses any valid string representation into a candle symbol object. The result of the candle symbol CandleSymbol::toString() method is always normalized: keys are ordered lexicographically, values are in lower-case and are abbreviated to their shortest possible form.