# 3-4、Symbology
# Symbology(商品體系)
- - - - - -
圖表庫使用您自己的數據,您自己定義商品體系。 您可以根據需要命名商品。
但有些細節你應該知道:
1. 我們自己定義的商品名稱必須為此格式:`EXCHANGE:SYMBOL`。 圖表默認使用此格式
2. 如果已經有或者考慮區別不同的商品,那么你可能需要使用`ticker`字段。 `ticker` 為商品唯一標識符,只用于圖表的內部,您的用戶將不會看到它。 `ticker`為 **僅在** 圖表庫內部使用的商品唯一標識符。 您的用戶將永遠無法看到它。 只需在所有SymbolInfo對象和商品搜索結果中輸入`ticker`值,圖表庫將根據這些值請求數據。
## [商品信息結構](#%E5%95%86%E5%93%81%E4%BF%A1%E6%81%AF%E7%BB%93%E6%9E%84)
這一節非常重要。 圖表庫用戶遇到的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)
商品交易時間。請參閱交易日細節了解更多詳情。[交易時段](Trading-Sessions.html)
##### [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`
##### [minmov(最小波動), pricescale(價格精度), minmove2, fractional(分數)](#minmov%E6%9C%80%E5%B0%8F%E6%B3%A2%E5%8A%A8-pricescale%E4%BB%B7%E6%A0%BC%E7%B2%BE%E5%BA%A6-minmove2-fractional%E5%88%86%E6%95%B0)
1. 最小的價格變化是由這些值決定的。
2. PriceScale 參數確定了圖表價格量表上的價格線之間的周期。
這三個鍵有不同意義時,使用通常價格和分數價格。
##### [通常價格](#%E9%80%9A%E5%B8%B8%E4%BB%B7%E6%A0%BC)
```
MinimalPossiblePriceChange(最小可能價格變動) = minmov / pricescale
```
`minmov`數字型單位組成一個tick。例如,美國股票價格和tick有小數,并可以上下浮動+/- 0.01。
##### [分數價格](#%E5%88%86%E6%95%B0%E4%BB%B7%E6%A0%BC)
分數顯示價格,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配置數據)但不受當前商品支持的周期,將在周期選擇器部件中禁用。 如果更改商品,新商品不支持選定的周期,則周期將切換到支持的周期列表中的第一項。 周期可用性邏輯(偽代碼):
```
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-)
這是一個包含日內周期(分鐘單位)的數組,datafeed將會自行構建它。
舉例來說:如果datafeed報告說它支持 \["1", "5", "15"\],但事實上股票X只有1分鐘的數據,股票X將設定 intraday\_multipliers = \[1\],那么Charting Library將自行構建5分鐘和15分鐘的周期。
##### [has\_seconds](#hasseconds)
布爾值顯示商品是否具有以秒為單位的歷史數據。如果它為`false`,那么在圖表中此商品處于活動狀態時,所有秒的周期的按鈕將被禁用。如果它為`true`,則由datafeed直接提供的所有周期必須在`seconds_multipliers`數組中設定。
##### [seconds\_multipliers <\[\]>](#secondsmultipliers-)
這是一個包含秒周期(以秒為單位,無小數) ,datafeed將會自行構建它。
舉例來說:如果datafeed報告說它支持 \["1S", "5S", "15S"\],但事實上股票X只有1秒鐘的數據,股票X將設定 seconds\_multipliers = \[1\],那么Charting Library將自行構建5S和15S的周期。
##### [has\_daily](#hasdaily)
布爾值顯示商品是否具有以日為單位的歷史數據。如果它為false,則Charting Library將自行構建日單位的周期。如果沒有,則會向datafeed請求這些數據。
##### [has\_weekly\_and\_monthly](#hasweeklyandmonthly)
布爾值顯示商品是否具有以W和M為單位的歷史數據。如果它為false,則Charting Library將通過日單位的周期自行構建。如果沒有,則會向datafeed請求這些數據。
##### [has\_empty\_bars](#hasemptybars)
布爾值顯示在交易過程中,當datafeed沒有數據返回時,library是否會生成空的K柱。
即,如果您的交易時間為0900-1600,而您的實際數據在11:00和12:00之間沒有交易,而您的has\_empty\_bars為true,那么Library會在此段時間貼上退化的K柱。
##### [force\_session\_rebuild](#forcesessionrebuild)
布爾值顯示library是否會隨著當前交易而過濾K柱。如果為false,則當library從其他周期構建數據或將has\_empty\_bars設置為true時,K柱將被過濾。 如果為true,Library將會刪除那些不是交易K柱的數據。
##### [has\_no\_volume](#hasnovolume)
布爾表示商品是否擁有成交量數據。
##### [has\_fractional\_volume](#hasfractionalvolume--%E5%B7%B2%E8%BF%87%E6%97%B611---15-%E7%94%A8%E6%B3%95%E4%B8%8Evolumeprecision%E7%9B%B8%E5%8F%8D) | 已過時(1.1 - 1.5), 用法與volume\_precision相反
如果has\_fractional\_volume = true,成交量指標值將不會舍入為整數值。
##### [volume\_precision <0>](#volumeprecision-0)
整數顯示此商品的成交量數字的小數位。0表示只顯示整數。1表示保留小數位的1個數字字符,等等。
##### [data\_status](#datastatus)
數據狀態碼。狀態顯示在圖表的右上角。
*支持的值:*
- `streaming`(實時)
- `endofday`(已收盤)
- `pulsed`(脈沖)
- `delayed_streaming`(延遲流動中)
##### [expired](#expired)
期滿,布爾值顯示此商品是否為到期的期貨合約。
##### [expiration\_date](#expirationdate)
到期日(Unix時間戳)。 如果`expired` = `true`,則必須設置此值。 圖表庫將從該時間點而不是實際時刻請求該商品的數據。
##### [sector](#sector)
板塊,將在股票信息中顯示。
##### [industry](#industry)
行業,將在股票信息中顯示。
##### [currency\_code](#currencycode)
貨幣代碼,將在商品信息中顯示。
- 序言
- 更新日志
- 1、Charting Library是什么
- 2-1、圖表庫內容
- 2-2、運行圖表庫
- 3-1、如何連接我的數據
- 3-2、JS Api
- 3-3、UDF
- 3-4、Symbology
- 3-5、交易時段
- 3-6、報價
- 4-1、定制概述
- 4-2、Widget構造器
- 4-3、Widget方法
- 4-4、圖表方法
- 4-5、功能集
- 4-7、定制的使用案例
- 5-1、交易終端簡介
- 5-2、交易控制器
- 5-3、經紀商API
- 5-4、交易主機
- 5-5、賬戶管理器
- 5-6、交易對象和常量
- 6、儲存和載入圖表
- 7、創建自定義指標
- 7、最佳做法
- 9、經常被問到的問題
- 10、版本變更點
- 周期
- 時間范圍
- 本地化
- 覆蓋
- 繪圖覆蓋
- 指標覆蓋
- 形狀與覆蓋
- 訂閱
- 交易元語
- 在K線上做標記
- 委托
- WatchedValue
- 指標API
- 形狀API
- 容器API
- 價格坐標Api