Skip to main content

Interface: LibrarySymbolInfo

Charting Library.LibrarySymbolInfo

Properties

base_name

Optional base_name: [string]

Array of base symbols Example: for AAPL*MSFT it is ['NASDAQ:AAPL', 'NASDAQ:MSFT']


corrections

Optional corrections: string

List of corrections for this symbol. Corrections are days with specific trading sessions. They can be applied to holidays as well.

It's a string in the following format: SESSION:YYYYMMDD[,YYYYMMDD][;SESSION:YYYYMMDD[,YYYYMMDD]] Where SESSION has the same format as Trading Sessions.

Example

"1900F4-2350F4,1000-1845:20181113;1000-1400:20181114"

currency_code

Optional currency_code: string

The currency in which the instrument is traded or some other currency if currency conversion is enabled. It is displayed in the Symbol Info dialog and on the price axes.


daily_multipliers

Optional daily_multipliers: string[]

Array (of strings) containing the resolutions (in days - without the suffix) supported by the data feed. ResolutionString

For example it could be something like

daily_multipliers = ['1', '3', '4', '6', '7'];

Default

['1']

data_status

Optional data_status: "streaming" | "endofday" | "pulsed" | "delayed_streaming"

The status code of a series with this symbol. This could be represented as an icon in the legend, next to the market status icon for delayed_streaming & endofday type of data. When declaring delayed_streaming you also have to specify its LibrarySymbolInfo.delay in seconds.


delay

Optional delay: number

Type of delay that is associated to the data or real delay for real time data.

  • 0 for realtime
  • -1 for endofday
  • -2 for pulsed
  • or delay in seconds (for delayed realtime)

description

description: string

The description of the symbol. Will be displayed in the chart legend for this symbol.


exchange

exchange: string

Traded exchange (current (proxy) exchange). The name will be displayed in the chart legend for this symbol.

Example

"NYSE"

Optional exchange_logo: string

URL of image to be displayed as the logo for the exchange. The show_exchange_logos featureset needs to be enabled for this to be visible in the UI.

The image should ideally be square in dimension. You can use any image type which the browser supports natively. Simple SVG images are recommended.

Examples:

  • https://yourserver.com/exchangeLogo.svg
  • /images/myImage.png
  • data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3...
  • data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4...

expiration_date

Optional expiration_date: number

Unix timestamp of the expiration date. One must set this value when expired = true. The library will request data for this symbol starting from that time point.


expired

Optional expired: boolean

Boolean showing whether this symbol is expired futures contract or not.

Default

false

format

format: SeriesFormat

Format of displaying labels on the price scale:

price - formats decimal or fractional numbers based on minmov, pricescale, minmove2, fractional and variableMinTick values. See Price Formatting for more details volume - formats decimal numbers in thousands, millions, billions or trillions


fractional

Optional fractional: boolean

For common prices this can be skipped.

Fractional prices are displayed 2 different forms: 1) xx'yy (for example, 133'21) 2) xx'yy'zz (for example, 133'21'5).

  • xx is an integer part.
  • minmov/pricescale is a Fraction.
  • minmove2 is used in form 2.
  • fractional is true.
  • variableMinTick is skipped.

Example:

If minmov = 1, pricescale = 128 and minmove2 = 4:

  • 119'16'0 represents 119 + 16/32
  • 119'16'2 represents 119 + 16.25/32
  • 119'16'5 represents 119 + 16.5/32
  • 119'16'7 represents 119 + 16.75/32

More examples:

  • ZBM2014 (T-Bond) with 1/32: minmov = 1, pricescale = 32, minmove2 = 0
  • ZCM2014 (Corn) with 2/8: minmov = 2, pricescale = 8, minmove2 = 0
  • ZFM2014 (5 year t-note) with 1/4 of 1/32: minmov = 1, pricescale = 128, minmove2 = 4

full_name

full_name: string

The full name of the symbol (contains name and exchange) Example: BTCE:BTCUSD


has_daily

Optional has_daily: boolean

The boolean value specifying whether the datafeed can supply historical data at the daily resolution.

If has_daily is set to false, all buttons for resolutions that include days are disabled for this particular symbol. Otherwise, the library requests daily bars from the datafeed. All daily resolutions that the datafeed supplies must be included in the LibrarySymbolInfo.daily_multipliers array.

Default

true

has_empty_bars

Optional has_empty_bars: boolean

The boolean value showing whether the library should generate empty bars in the session when there is no data from the data feed for this particular time.

I.e., if your session is 0900-1600 and your data has gaps between 11:00 and 12:00 and your has_empty_bars is true, then the Library will fill the gaps with bars for this time.

Flag has_empty_bars = true cannot be used if featureset disable_resolution_rebuild is enabled.

Default

false

has_intraday

Optional has_intraday: boolean

Boolean value showing whether the symbol includes intraday (minutes) historical data.

If it's false then all buttons for intraday resolutions will be disabled for this particular symbol. If it is set to true, all intradays resolutions that are supplied directly by the datafeed must be provided in intraday_multipliers array.

WARNING Any daily, weekly or monthly resolutions cannot be inferred from intraday resolutions!

false if DWM only

Default

false

has_seconds

Optional has_seconds: boolean

Boolean value showing whether the symbol includes seconds in the historical data.

If it's false then all buttons for resolutions that include seconds will be disabled for this particular symbol.

If it is set to true, all resolutions that are supplied directly by the data feed must be provided in seconds_multipliers array.

Default

false

has_ticks

Optional has_ticks: boolean

Boolean value showing whether the symbol includes ticks in the historical data.

If it's false then all buttons for resolutions that include ticks will be disabled for this particular symbol.

Default

false

has_weekly_and_monthly

Optional has_weekly_and_monthly: boolean

The boolean value showing whether data feed has its own weekly and monthly resolution bars or not.

If has_weekly_and_monthly = false then the library will build the respective resolutions using daily bars by itself. If not, then it will request those bars from the data feed using either the weekly_multipliers or monthly_multipliers if specified. If resolution is not within either list an error will be raised.

Default

false

industry

Optional industry: string

Industry for stocks to be displayed in the Symbol Info.


intraday_multipliers

Optional intraday_multipliers: string[]

Array of resolutions (in minutes) supported directly by the data feed. Each such resolution may be passed to, and should be implemented by, getBars. The default of [] means that the data feed supports aggregating by any number of minutes.

If the data feed only supports certain minute resolutions but not the requested resolution, getBars will be called (repeatedly if needed) with a higher resolution as a parameter, in order to build the requested resolution.

For example, if the data feed only supports minute resolution, set intraday_multipliers to ['1'].

When the user wants to see 5-minute data, getBars will be called with the resolution set to 1 until the library builds all the 5-minute resolution by itself.

Example

(for ex.: "1,5,60") - only these resolutions will be requested, all others will be built using them if possible

Default

[]

listed_exchange

listed_exchange: string

short name of the exchange where this symbol is traded (real listed exchange). The name will be displayed in the chart legend for this symbol.

Example

"NYSE"

logo_urls

Optional logo_urls: [string, string] | [string]

URL of image/s to be displayed as the logo/s for the symbol. The show_symbol_logos featureset needs to be enabled for this to be visible in the UI.

  • If a single url is returned then that url will solely be used to display the symbol logo.
  • If two urls are provided then the images will be displayed as two partially overlapping circles with the first url appearing on top. This is typically used for FOREX where you would like to display two country flags are the symbol logo.

The image/s should ideally be square in dimension. You can use any image type which the browser supports natively.

Examples:

  • https://yourserver.com/apple.svg
  • /images/myImage.png
  • data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3...
  • data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4...

long_description

Optional long_description: string

Symbol Long description

Optional long(er) description for the symbol.


minmov

minmov: number

The number of units that make up one tick.

Example

For example, U.S. equities are quotes in decimals, and tick in decimals, and can go up +/- .01. So the tick increment is 1. But the e-mini S&P futures contract, though quoted in decimals, goes up in .25 increments, so the tick increment is 25. (see also Tick Size)

minmove2

Optional minmove2: number

For common prices this can be skipped.

Example

Quarters of 1/32: pricescale=128, minmovement=1, minmovement2=4

monthly_multipliers

Optional monthly_multipliers: string[]

Array (of strings) containing the resolutions (in months - without the suffix) supported by the data feed. ResolutionString

For example it could be something like

monthly_multipliers = ['1', '3', '4', '12'];

Default

['1']

name

name: string

Symbol Name It's the name of the symbol. It is a string that your users will be able to see. Also, it will be used for data requests if you are not using tickers.


original_currency_code

Optional original_currency_code: string

The currency in which the instrument is traded.


original_unit_id

Optional original_unit_id: string

A unique identifier of a unit in which the instrument is traded.


price_source_id

Optional price_source_id: string

Optional ID of a price source for this symbol. Should match one of the price sources from the price_sources array.


price_sources

Optional price_sources: SymbolInfoPriceSource[]

Supported price sources for the symbol. The source of the values that this symbol's bars represent.

For example 'Spot Price', 'Ask', 'Bid', etc.

Mostly useful when viewing non-OHLC series types. The price source will be shown in the series legend.

Example

[{ id: '1', name: 'Spot Price' }, { id: '321', name: 'Bid' }]

pricescale

pricescale: number

Code (Tick)

Example

8/16/.../256 (1/8/100 1/16/100 ... 1/256/100) or 1/10/.../10000000 (1 0.1 ... 0.0000001)

seconds_multipliers

Optional seconds_multipliers: string[]

It is an array containing resolutions that include seconds (excluding postfix) that the data feed provides. E.g., if the data feed supports resolutions such as ["1S", "5S", "15S"], but has 1-second bars for some symbols then you should set seconds_multipliers of this symbol to [1]. This will make the library build 5S and 15S resolutions by itself.


sector

Optional sector: string

Sector for stocks to be displayed in the Symbol Info.


session

session: string

Trading hours for this symbol. See the Trading Sessions article to learn more details.

Example

"1700-0200"

session_display

Optional session_display: string

The session value to display in the UI. If not specified, then session is used.


session_holidays

Optional session_holidays: string

List of holidays for this symbol. These dates are not displayed on the chart. It's a string in the following format: YYYYMMDD[,YYYYMMDD].

Example

"20181105,20181107,20181112"

subsession_id

Optional subsession_id: string

Subsession ID. Must match the id property of one of the subsessions.


subsessions

Optional subsessions: LibrarySubsessionInfo[]

Subsessions definitions.


supported_resolutions

Optional supported_resolutions: ResolutionString[]

An array of resolutions which should be enabled in resolutions picker for this symbol.

Each item of an array is expected to be a string. Format is described in another article.

If one changes the symbol and new symbol does not support the selected resolution then resolution will be switched to the first available one in the list.

Resolution availability logic (pseudocode):

resolutionAvailable  =
resolution.isIntraday
? symbol.has_intraday && symbol.supported_resolutions(resolution)
: symbol.supported_resolutions(resolution);

In case of the absence of supported_resolutions in a symbol info, all DWM resolutions will be available. Intraday resolutions will be available if has_intraday is true. Supported resolutions affect available timeframes too. The timeframe will not be available if it requires the resolution that is not supported.


ticker

Optional ticker: string

Unique symbol id It's an unique identifier for this particular symbol in your symbology. If you specify this property then its value will be used for all data requests for this symbol. ticker will be treated the same as LibrarySymbolInfo.name if not specified explicitly.


timezone

timezone: Timezone

Timezone of the exchange for this symbol. We expect to get the name of the time zone in olsondb format. See Timezones for a full list of supported timezones


type

type: string

Type of the instrument. Possible values: SymbolType


unit_conversion_types

Optional unit_conversion_types: string[]

Allowed unit conversion group names.


unit_id

Optional unit_id: string

A unique identifier of a unit in which the instrument is traded or some other identifier if unit conversion is enabled. It is displayed on the price axes.


variable_tick_size

Optional variable_tick_size: string

Dynamic minimum price movement. It is used if the instrument's minimum price movement changes depending on the price range.

For example, '0.01 10 0.02 25 0.05', where the tick size is 0.01 for a price less than 10, the tick size is 0.02 for a price less than 25, the tick size is 0.05 for a price greater than or equal to 25.


visible_plots_set

Optional visible_plots_set: VisiblePlotsSet

Represents what values are supported by the symbol. Possible values:

  • ohlcv - the symbol supports open, high, low, close and has volume
  • ohlc - the symbol supports open, high, low, close, but doesn't have volume
  • c - the symbol supports only close, it's displayed on the chart using line-based styles only

Default

'ohlcv'

volume_precision

Optional volume_precision: number

Integer showing typical volume value decimal places for a particular symbol. 0 means volume is always an integer. 1 means that there might be 1 numeric character after the comma.

Default

'0'

weekly_multipliers

Optional weekly_multipliers: string[]

Array (of strings) containing the resolutions (in weeks - without the suffix) supported by the data feed. ResolutionString

For example it could be something like

weekly_multipliers = ['1', '5', '10'];

Default

['1']