# 3-4、Symbology

***

图表库使用您自己的数据，您自己定义商品体系。 您可以根据需要命名商品。

但有些细节你应该知道:

1. 我们自己定义的商品名称必须为此格式：`EXCHANGE:SYMBOL`。 图表默认使用此格式
2. 如果已经有或者考虑区别不同的商品，那么你可能需要使用`ticker`字段。 `ticker` 为商品唯一标识符，只用于图表的内部，您的用户将不会看到它。 `ticker`为 **仅在** 图表库内部使用的商品唯一标识符。 您的用户将永远无法看到它。     只需在所有SymbolInfo对象和商品搜索结果中输入`ticker`值，图表库将根据这些值请求数据。

## [商品信息结构](#商品信息结构)

这一节非常重要。 图表库用户遇到的72.2％的问题，都是由于错误的/格式错误的SymbolInfo数据引起的。

SymbolInfo是一个包含商品metadata的对象。 该对象是解析商品的结果。 SymbolInfo有以下字段：

[**name**](#name)

商品名称。您的用户将看到它(作为一个字符串)。 此外，如果您不使用`tickers`，它将用于数据请求。

[**ticker**](#ticker)

它是您的商品体系中此商品的唯一标识符。如果您指定此属性，则其值将用于所有数据请求，`ticker`如果未明确指定，则被视为等于`symbol`。(译者注：请一定指定`ticker`，如果没有`ticker`可以将`symbol`赋值给`ticker`，未指定`ticker`时会发生错误。)

[**description**](#description)

商品说明。这个商品说明将被打印在图表的标题栏中。

[**type**](#type)

仪表的可选类型。

*可能的类型是:*

* `stock`
* `index`
* `forex`
* `futures`
* `bitcoin`
* `expression`
* `spread`
* `cfd`
* 或其他字符串。

[**session**](#session)

商品交易时间。请参阅交易日细节了解更多详情。[交易时段](/tradingview/3-shu-ju-bang-ding/trading-sessions.md)

[**session\_holidays**](#session_holidays)

此商品的假期列表。这些日期将不显示在图表上。 它是以下格式的字符串：

`YYYYMMDD[,YYYYMMDD]`。

示例: `20181105,20181107,20181112`。

[**corrections**](#corrections)

此商品的更正列表。更正是指具有特定交易时段的日子。它们也可以应用于假期。 它是以下格式的字符串：

`SESSION:YYYYMMDD[,YYYYMMDD][;SESSION:YYYYMMDD[,YYYYMMDD]]`。

其中 `SESSION` 具有与 [交易时段](/tradingview/3-shu-ju-bang-ding/trading-sessions.md) 相同的格式。

示例: `1900F4-2350F4,1000-1845:20181113;1000-1400:20181114`.

[**exchange, listed\_exchange**](#exchange-listedexchange)

现在，这两个字段都为某个交易所的略称。将被显示在图表的图例中，以表示此商品。目前此字段不用于其他目的。

[**timezone**](#timezone)

这个商品的交易所时区。我们希望以olsondb格式获取时区的名称。

*支持的时区为:*

* `Etc/UTC`
* `Africa/Cairo`
* `Africa/Johannesburg`
* `Africa/Lagos`
* `America/Argentina/Buenos_Aires`
* `America/Bogota`
* `America/Caracas`
* `America/Chicago`
* `America/El_Salvador`
* `America/Juneau`
* `America/Lima`
* `America/Los_Angeles`
* `America/Mexico_City`
* `America/New_York`
* `America/Phoenix`
* `America/Santiago`
* `America/Sao_Paulo`
* `America/Toronto`
* `America/Vancouver`
* `Asia/Almaty`
* `Asia/Ashkhabad`
* `Asia/Bahrain`
* `Asia/Bangkok`
* `Asia/Chongqing`
* `Asia/Dubai`
* `Asia/Ho_Chi_Minh`
* `Asia/Hong_Kong`
* `Asia/Jakarta`
* `Asia/Jerusalem`
* `Asia/Kathmandu`
* `Asia/Kolkata`
* `Asia/Kuwait`
* `Asia/Muscat`
* `Asia/Qatar`
* `Asia/Riyadh`
* `Asia/Seoul`
* `Asia/Shanghai`
* `Asia/Singapore`
* `Asia/Taipei`
* `Asia/Tehran`
* `Asia/Tokyo`
* `Atlantic/Reykjavik`
* `Australia/ACT`
* `Australia/Adelaide`
* `Australia/Brisbane`
* `Australia/Sydney`
* `Europe/Athens`
* `Europe/Belgrade`
* `Europe/Berlin`
* `Europe/Copenhagen`
* `Europe/Helsinki`
* `Europe/Istanbul`
* `Europe/London`
* `Europe/Luxembourg`
* `Europe/Madrid`
* `Europe/Moscow`
* `Europe/Paris`
* `Europe/Riga`
* `Europe/Rome`
* `Europe/Stockholm`
* `Europe/Tallinn`
* `Europe/Vilnius`
* `Europe/Warsaw`
* `Europe/Zurich`
* `Pacific/Auckland`
* `Pacific/Chatham`
* `Pacific/Fakaofo`
* `Pacific/Honolulu`
* `Pacific/Norfolk`
* `US/Mountain`

**format**

在价格刻度上显示标签的格式：

* `price` - 根据 `minmov`, `pricescale`, `minmove2` 和 `fractional` 的值，格式化价格的小数或分数
* `volume` - 将十进制数字格式化为千，百万或十亿

[**minmov(最小波动), pricescale(价格精度), minmove2, fractional(分数)**](#minmov最小波动-pricescale价格精度-minmove2-fractional分数)

1. 最小的价格变化是由这些值决定的。
2. PriceScale 参数确定了图表价格量表上的价格线之间的周期。

这三个键有不同意义时，使用通常价格和分数价格。

[**通常价格**](#通常价格)

```
MinimalPossiblePriceChange（最小可能价格变动） = minmov / pricescale
```

`minmov`数字型单位组成一个tick。例如，美国股票价格和tick有小数，并可以上下浮动+/- 0.01。

[**分数价格**](#分数价格)

分数显示价格,1 - xx'yy（例如，133'21)或 2 - xx'yy'zz （例如，133'21'5）。

[**minmove2<0>**](#minmove20)

这是一个神奇的数字来格式化复杂情况下的价格。这里有一些例子:

```
典型的股票以0.01价格增量：minmov = 1，pricecale = 100，minmove2 = 0
ZBM2014（国债），1/32：minmov = 1，pricecale = 32，minmove2 = 0
ZCM2014（玉米），2/8：minmov = 2，pricecale = 8，minmove2 = 0
ZFM2014（5年期国债），1/32的1/4：minmov = 1，pricecale = 128，minmove2 = 4
```

[**has\_intraday**](#hasintraday)

布尔值显示商品是否具有日内（分钟）历史数据。 如果它为`false`，则当图表中的该商品处于活动状态时，日内周期的所有按钮将被禁用。 如果设置为`true`，则由datafeed直接提供的所有周期必须在intraday\_multipliers数组中设定。

[**supported\_resolutions**](#supportedresolutions)

在这个商品的周期选择器中启用一个周期数组。 数组的每个项目都是字符串。

被datafeed支持（见datafeed配置数据）但不受当前商品支持的周期,将在周期选择器部件中禁用。 如果更改商品，新商品不支持选定的周期，则周期将切换到支持的周期列表中的第一项。 周期可用性逻辑（伪代码）:

```js
resolutionAvailable  =
    resolution.isIntraday ?
       symbol.has_intraday && symbol.supports_resoluiton(resolution) :
    symbol.supports_resoluiton(resolution);
```

如果在商品信息中没有supported\_resolutionsin，则所有DWM(daily, weekly, monthly)周期都可用。 如果has\_intraday为true，则日内周期可用。

支持的周期也会影响可用的时间范围。 如果使用不支持的周期，则时间范围将不可用。

[**intraday\_multipliers <\[\]>**](#intradaymultipliers-)

*Default:* `[]`

这是一个包含日内周期(分钟单位)的数组，datafeed将会自行构建它。

举例来说：如果datafeed报告说它支持 \["1", "5", "15"]，但事实上股票X只有1分钟的数据，股票X将设定 intraday\_multipliers = \[1]，那么Charting Library将自行构建5分钟和15分钟的周期。

[**has\_seconds**](#hasseconds)

*Default:* `false`

布尔值显示商品是否具有以秒为单位的历史数据。如果它为`false`，那么在图表中此商品处于活动状态时，所有秒的周期的按钮将被禁用。如果它为`true`，则由datafeed直接提供的所有周期必须在`seconds_multipliers`数组中设定。

[**seconds\_multipliers <\[\]>**](#secondsmultipliers-)

*Default:* `[]`

这是一个包含秒周期(以秒为单位，无小数) ，datafeed将会自行构建它。\
举例来说：如果datafeed报告说它支持 \["1S", "5S", "15S"]，但事实上股票X只有1秒钟的数据，股票X将设定 seconds\_multipliers = \[1]，那么Charting Library将自行构建5S和15S的周期。

[**has\_daily**](#hasdaily)

*Default:* `false`

布尔值显示商品是否具有以日为单位的历史数据。如果它为false，则Charting Library将自行构建日单位的周期。如果没有，则会向datafeed请求这些数据。

[**has\_weekly\_and\_monthly**](#hasweeklyandmonthly)

*Default:* `false`

布尔值显示商品是否具有以W和M为单位的历史数据。如果它为false，则Charting Library将通过日单位的周期自行构建。如果没有，则会向datafeed请求这些数据。

[**has\_empty\_bars**](#hasemptybars)

*Default:* `false`

布尔值显示在特定时间段内数据馈送中没有数据时，图表库是否应在会话中生成空栏（一字线）

即，如果您的交易时段为0900-1600，而您的实际数据在11:00和12:00之间没有交易，而您的has\_empty\_bars为true，那么Library会在此段时间贴上空K柱。

如果启用了功能集 `disable_resolution_rebuild` ，则不可使用此标志 `has_emtpy_bars` = `true` 。

[**force\_session\_rebuild**](#forcesessionrebuild)

*Default:* `false`

布尔值，显示图书馆是否应使用当前交易时段过滤柱线。

如果为 `false`, 仅当图表库从其他分辨率构建数据时，才会过滤K线。或者将`has_empty_bars` 设置 `true`。

如果为 `true`, 图表库将从您的数据中删除不属于交易时段的K线。

[**has\_no\_volume**](#hasnovolume)

*Default:* `false`

布尔表示商品是否拥有成交量数据。

[**has\_fractional\_volume**](#hasfractionalvolume--已过时11---15-用法与volumeprecision相反) **| 已过时(1.1 - 1.5), 用法与volume\_precision相反**

*Default:* `false`

如果has\_fractional\_volume = true，成交量指标值将不会舍入为整数值。

[**volume\_precision <0>**](#volumeprecision-0)

*Default:* `0`

整数显示此商品的成交量数字的小数位。0表示只显示整数。1表示保留小数位的1个数字字符，等等。

[**data\_status**](#datastatus)

数据状态码。状态显示在图表的右上角。

*支持的值:*

* `streaming`(实时)
* `endofday`(已收盘)
* `pulsed`(脉冲)
* `delayed_streaming`(延迟流动中)

[**expired**](#expired)

*Default:* `false`

是否到期，布尔值显示此商品是否为到期的期货合约。

[**expiration\_date**](#expirationdate)

到期日(Unix时间戳)。 如果`expired` = `true`，则必须设置此值。 图表库将从该时间点而不是实际时刻请求该商品的数据。

[**sector**](#sector)

板块，将在股票信息中显示。

[**industry**](#industry)

行业，将在股票信息中显示。

[**original\_currency\_code**](#originalcurrencycode)

交易所用的货币。

[**currency\_code**](#currencycode)

交易所使用的货币或其他货币（如果启用了货币转换）。 它显示在“交易品种信息”对话框和价格轴上。

## original\_unit\_id

交易期货的单位的唯一标识符。

## unit\_id

如果启用了单位转换，则为交易期货的单位的唯一标识符或某些其他标识符。它显示在价格轴上。

## unit\_conversion\_types

允许的单位转换组名称。 另见[units](/tradingview/3-shu-ju-bang-ding/js-api.md#units)。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://zlq4863947.gitbook.io/tradingview/3-shu-ju-bang-ding/symbology.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
