TradingView 中文开发文档
  • 序言
  • 更新日志
  • 1、Charting Library 是什么
  • 2、入门指南
    • 2-1、图表库内容
    • 2-2、运行图表库
  • 3、数据绑定
    • 3-1、如何连接我的数据
    • 3-2、JS Api
    • 3-3、UDF
    • 3-4、Symbology
    • 3-5、交易时段
    • 3-6、报价
  • 4、图表定制
    • 4-1、定制概述
    • 4-2、Widget 构造器
    • 4-3、Widget 方法
    • 4-4、图表方法
    • 4-5、功能集
    • 4-6、服务端定制
    • 4-7、定制的使用案例
  • 5、交易终端
    • 5-1、交易终端简介
    • 5-2、经纪商 API
    • 5-3、交易主机
    • 5-4、账户管理器
    • 5-5、交易对象和常量
  • 6、储存和载入图表
  • 6-1、储存和载入的内存示例
  • 7、创建自定义指标
  • 8、最佳实践
  • 9、经常被问到的问题
  • 10、版本变更点
  • 附录
    • 图表的主要组成
    • 周期
    • 时间范围
    • 本地化
    • 覆盖
    • 绘图覆盖
    • 指标覆盖
    • 形状与覆盖
    • 图表样式属性
    • 图表自定义
    • 工具栏自定义
    • CSS主题颜色
    • 订阅
    • 交易元语
    • 在 K 线上做标记
    • 委托
    • WatchedValue
    • 指标 API
    • 形状 API
    • 形状组 API
    • 选择 API
    • 窗格 API
    • 数据列 API
    • 价格刻度 Api
    • 窗格和刻度特性
    • 快捷键
    • 新闻API示例
由 GitBook 提供支持
在本页
  • Version 21
  • Version 20
  • Version 19
  • Version 18
  • Version 17
  • Version 16(更改版本)
  • Version 1.15
  • Version 1.14
  • Version 1.13
  • Version 1.12
  • Version 1.11
  • Version 1.10
  • Version 1.9
  • Version 1.8 的交易终端
  • Version 1.7
  • Version 1.5
  • Version 1.4
  • Version 1.3

这有帮助吗?

10、版本变更点

上一页9、经常被问到的问题下一页图表的主要组成

最后更新于3年前

这有帮助吗?

我们将尽最大努力使每个新版本与前一版本完全兼容,但有时重大的更改需要您在升级到新版本时对代码进行微小的更改。

注意:您可以通过在浏览器控制台中执行 TradingView.version() 来检查图表库版本。

以下是重大变更列表:

Version 21

  • 功能集show_dialog_on_snapshot_ready 已被删除。 静默生成快照,因此您可以使用 回调中的 URL 来显示您自己的对话框。

  • 中的字段 holidays 已重命名为 。

交易终端

  • empty 格式化方法已被删除。

  • 标记 durationForMarketOrders 已从 Broker 配置 configFlags 对象中删除。 要对市价订单使用持续时间,请将适当的订单类型添加到 supportedOrderTypes 数组。

  • supportReducePosition 标志已从 Broker 配置 configFlags 对象中删除。

  • 已添加supportExecutions 标志。 如果经纪人支持执行,您需要将标志设置为 true。

  • 的 asc 字段的默认值已更改为 true。

  • customFormatters 字段已从 中删除。

  • id、modificationProperty、fixedWidth、showOnMobile 和showTooltipOnCell 字段已从 中删除。 property 字段已变为必填字段,因此您可以使用它代替 id。

  • 每个 行中的字符串 id 字段已变为必填字段。

  • 中placeOrder方法的返回值由Promise<void>改为。

  • AccountManagerInfo 接口中contextMenuActions 中的contextMenuEvent 类型已从MouseEvent 更改为MouseEvent | TouchEvent。

  • 中news_provider 属性已更改。 is_news_generic 和 get_news 属性已被替换为单个函数。

Version 20

  • 指标 Moving Average Modified 已被删除。 改用Smoothed Moving Average。 请注意,length 输入的默认值是不同的。

交易终端

  • unixTimeAgo 格式化方法已被删除。

  • 选项showOrderPanel、showDOM 和showSellBuyButtons 已从defaultDropdownMenuActions 选项列表中删除。

  • 方法getOrderDialogOptions 的返回值变为 Promise。

  • cancellingBracketCancelsParentOrder 和 cancellingOnePositionBracketsCancelsOther 标志已被删除。它们可以部分替换为 supportCancellingBothBracketsOnly 标志。

Version 19

注意:container_id 已被标记为已弃用。现在应更改为 container 。 container 现在可以仍然是一个 id,也可以是您希望将widget添加到的 HTMLElement。

交易终端

  • orderDialogOptions 对象已从Broker的配置中删除。请使用getOrderDialogOptions 方法自定义订单对话框。

  • 商品信息中的force_session_rebuild 字段已被删除

  •     // ...
    
        getBars(symbolInfo, resolution, from, to, onHistoryCallback, onErrorCallback, firstDataRequest) {
            // 你的代码
        }
    
        // ...

    改为以下代码:

        // ...
    
        getBars(symbolInfo, resolution, periodParams, onHistoryCallback, onErrorCallback) {
            let { from, to, firstDataRequest } = periodParams;
            // 你的代码
        }
    
        // ...
  • 自定义指标中ctx.new_sym 方法的参数已更改,现在您不需要传递第三个参数(它可能会破坏指标)。 要快速解决此问题,请找到 new_sym 方法的所有用例,并确保仅将 2 个参数传递给它(而不是三个或更多)。 例如,如果您之前有 ctx.new_sym(newSym, PineJS.Std.period(this._context), PineJS.Std.period(this._context)),则需要将其替换为 ctx.new_sym(newSym, PineJS.Std.period(this._context))。

Version 18

交易终端

  • AccountManagerInfo 接口中contextMenuActions 中的contextMenuEvent 类型已从JQueryEventObject 更改为MouseEvent。

  • accountsList 和 account 已从 Account Manager 信息中删除。他们已替换为方法: currentAccount, setCurrentAccount 和 accountsMetainfo 在 broker's API.

  • 方法 fullUpdate 在Trading Host中已重命名为 currentAccountUpdate.

  • 方法 showClosePositionDialog 已被删除。

  • 标志supportOrderPreview 已重命名为supportPlaceOrderPreview。

Version 17

  • charting_library/charting_library.min.js 和 charting_library/charting_library.min.d.ts 重命名为 charting_library/charting_library.js 和 charting_library/charting_library.d.ts。

交易终端

  • supportBottomWidget 标记已从Broker配置 configFlags 对象中删除。要删除 Account Manager 请使用功能集 trading_account_manager。

Version 16(更改版本)

  • 图表方法 createStudy 的 options参数中的 priceScale 发生变化。 left 和 right 重命名为 new-left 和 new-right。 options参数中增加 entityId, 它将指标和具有相应 id 的指标锁定在同一价格轴上。

  • 数据列API方法 moveToOtherSourceScale 重命名为 changePriceScale。options参数中 new-left 和 new-right。

  • 指标API方法 changePriceScale 的 options参数中的 priceScale 发生变化。 left 和 right 重命名为 new-left 和 new-right。 options参数中增加 entityId, 它将指标和具有相应 id 的指标锁定在同一价格轴上。

  • Widget的方法 applyOverrides 禁用于 "mainSeriesProperties.priceAxisProperties.*"。

  • Widget的方法 createStudy 现在可以被用户撤销。您可以使用 options 中的 disableUndo 禁用。

Version 1.15

  • 功能集的 show_logo_on_all_charts 被删除。

  • 功能集的 cl_feed_return_all_data 被删除。

交易终端

我们改变了经纪商的互动流程。请仔细阅读以下内容,以了解应在代码中进行哪些更改来切换到新版本。

到目前为止,当用户点击买入/卖出/修改按钮时,交易终端会调用代理适配器的方法 (例如: placeOrder, modifyOrder)。在调用这些方法时,交易终端会传递 silently 参数。 当 silently 设置为 true 时, 代理适配器可以在不显示对话框的情况下发送订单。当它被设置为 false 时, 代理适配器必须从 host 调用一个方法来显示订单窗口 (或仓位变更对话框)。

从 1.15 开始,交易终端单独显示所有对话框,并调用代理适配器的方法向代理的服务器发送订单或头寸。这种变化的原因是我们添加了一个订单面板,可以随时用于下订单。 如果您使用自己的订单对话框,那么您仍然需要在代理适配器的方法中进行更改, 另外您需要使用 metainfo 参数将对话框构造函数传递给交易终端。

  • 标记 supportCustomPlaceOrderTradableCheck 不再被支持。

Version 1.14

  • 方法 onready 被删除。 您可以使用 window.addEventListener('DOMContentLoaded', callback, false) 代替。

TypeScript 类型定义

  • StudyInputValueType 改名为 StudyInputValue.

功能集

  • 从此版本开始,您将无法再使用keep_left_toolbar_visible_on_small_screens功能集。 此功能集已删除,左侧工具栏可见性不再取决于屏幕大小。

Version 1.13

  • 功能集 caption_buttons_text_if_possible 默认开启。

Version 1.12

图表库

  • searchSymbolsByName 从 JS-API 中移除, 使用 searchSymbols 代替。

指标覆盖:

  • 从这个版本开始,您将不能再使用 options 关键字以覆盖 showStudyArguments 和 showLastValue 。

交易终端

  • hasHistory flag 被删除。 使用 historyColumns 来显示账户管理器中的历史记录。

交易终端中仍然支持以下内容,但在未来的版本中将不再使用::

  • subscribePL 和 unsubscribePL。 每当损益变化时经纪商应该调用 plUpdate 方法。

  • supportDOM 被删除。 DOM widget 的可见性可以使用 dome_widget 功能集。

下列变更将让您的交易控制器实现迁移到新的经纪商 API:

  • 方法 setHost 被删除。 主机将传递给经纪商 API 的构造函数。

  • 全部方法返回 $.Deferred 的变为返回 Promise。

  • 方法 chartContextMenuItems 重命名为 chartContextMenuActions。

  • 方法 isTradable 变更为返回一个 Promise 的布尔值。

  • 全部字符串常量 ("working", "buy" etc.) 被替换为数字常量

  • 仓位的 avg_price 重命名为 avgPrice。

Version 1.11

交易终端

交易终端中仍然支持以下内容,但在未来的版本中将不再使用:

  • supportDOME 重命名为 supportDOM

  • 更改了 showClosePositionDialog 的签名

  • showEditBracketsDialog 重命名为 showPositionBracketsDialog, 更改了签名。

Version 1.10

  • 更改成交量指标的默认特性。

先前的特性:在仪表或周期切换时,根据成交量支持选项来确定成交量指标的添加/删除。 您可以通过禁用create_volume_indicator_by_default_once 功能集来恢复到此特性。

新的特性:如果当前仪表支持成交量,则在空白图表的第一次加载时会添加成交量指标。

Version 1.9

  • 我们不再编译更多 Pine 脚本。您仍然可以使用以前编译过的脚本。

Version 1.8 的交易终端

  • 图表不可以只显示当前订单。适当的方法已被删除。

  • showOrderDialog 输入参数时一个对象而不是列表

  • reversePosition, closePosition, cancelOrder 有一个额外的参数 silently. 从现在起他们有了自己的对话框。

Version 1.7

  • 从这个版本开始不能够用相同的商品代码调用 setSymbol。 您应该先从 subscribeBars 调用 onResetCacheNeededCallback 开始。 然后您才可以使用图表的 setSymbol 或 新的 resetData 方法。

  • JSAPI 协议版本 1 不在被支持。必须提供 nextTime 和 noData。

Version 1.5

  • 添加 source 参数给 MACD. 您也可以通过创建代码传递 source 参数来改变 MACD 。 chartWidget.chart().createStudy('MACD', false, false, [12, 26, "close", 9])

Version 1.4

  • 覆盖 transparency 不在被支持。 我们为每个颜色数据添加了透明度支持。 使用 rgba 来定义颜色的透明度。 例如: "symbolWatermarkProperties.color" : "rgba(60, 70, 80, 0.05)"

Version 1.3

  • 覆盖 paneProperties.gridProperties.* 不再被支持。 请使用 paneProperties.vertGridProperties.* 和 paneProperties.horzGridProperties.*

  • 覆盖 mainSeriesProperties.candleStyle.wickColor 不在被支持。 请使用 mainSeriesProperties.candleStyle.wickUpColor 和 mainSeriesProperties.candleStyle.wickDownColor

功能集 caption_buttons_text_if_possible 已被移除并被新参数替换

功能集 high_density_bars 已被移除并替换为 min_bar_spacing, 这是 的一个新参数。

格式化方法的属性$container: JQuery 已替换为container: HTMLElement。格式化方法将返回string | HTMLElement 而不是 string | jQuery。

symbolSnapshot 方法已被删除。

已从 callback 参数更改为具有 Subscription 模型的 crossHairMoved()。 它仍然会返回相同的对象params: {time, price}。

defaultDropdownMenuActions 选项已更改。选项selectAnotherBroker 和disconnect 已被删除。

中方法buttonDropdownActions 的返回值已从BindPopupMenuActionDescription[] 更改为 数组。

className 字段已从 中删除。使用 字段来控制单元格值的对齐方式。

参数的数量和类型已更改 - from、to 和 firstDataRequest 参数已合并到 periodParams 对象中。 要快速切换到新版本,需要替换如下代码:

中的to 日期从现在开始将不包含在k线范围中。 from 日期仍然包含在内。这意味着您不应该在响应中包含带有 time == to 的k线。

移除了 中的 calculateHistoryDepth 方法。请改用 。

中的字段futures_regex 已被删除,请改用。

方法 floatingTradingPanelVisibility 被重命名为 sellBuyButtonsVisibility.

defaultDropdownMenuActions 选项已更改。选项 showFloatingToolbar 已重命名为 showSellBuyButtons。

方法 的作用与 方法相同。 以前,它可以更改其他一些属性,例如width,而不是将点移动到新位置。

订单返回值已区分为 和 。

setLanguage(locale) 已被删除。

onIntervalChanged 事件的参数已被修改: timeframe 字段的类型已更改为 。

功能集 same_data_requery 已被删除, 请使用 刷新数据。

现在,默认情况下,用户可以撤消图表方法 要禁用此功能,请在options使用 disableUndo 字段。

动作 tmzProperties 从 和 方法中被删除。

动作 magnetAction 从 和 中被删除。 使用 代替。

的 callback 参数被删除。

返回值使用 代替 entityId。

的方法 getLeftPriceScale 被替换为 getLeftPriceScales 返回 scale 数组。

的方法 getRightPriceScale 被替换为 getRightPriceScales 返回 scale 数组。

现在返回Promise对象,且删除之前的参数: callback回调函数

已使 选项优先级高于选项。如果不想覆盖中的symbol,则不要为 选择分配值。

参数 silently 已从 的这些方法: placeOrder, modifyOrder, reversePosition, closePosition, closeTrade, cancelOrder, cancelOrders 中删除。

参数 handler 和 options 从 的 showOrderDailog 方法中被删除。

参数 handler 从 的 showPositionBracketsDailog 方法中被删除。

覆盖 symbolWatermarkProperties 不再被支持。 您可以使用 的 symbolWatermark 。

indicators_file_name 构造函数项目已被删除。 请改用 。 我们进行了此更改以加快图表库的加载速度,并消除在加载文件时可能发生的漏洞。 您只需要将自定义指标的代码从JS文件移动到widget构造函数,将它们包装在函数和Promise对象中。

返回 HTMLElement 以代替 JQuery.

必须在 返回的 Promise 为 resolved 之后使用.

返回 UTC 时区的 {from, to} (之前返回的是图表选择的时区)。

中 saveAsSnapshot 参数被删除。

indicators_file_name 构造选项被删除。 请改用 。 我们进行了此更改以加快图表库的加载并消除加载文件时可能发生的漏洞。 您只需将自定义指标的代码从 JS 文件移动到 widget 构造函数,将它们包装在函数和 Promise 中。

动作 takeScreenshot 从 方法中被删除。 改用 方法。

动作 lockDrawingsAction 从 和 方法中被删除。 改用 代替。

动作 hideAllDrawingsAction 从 和 方法中被删除。 改用 代替。

修复一个 导致 K 线发生偏移。当日 K 线有一个负交易所时区偏移至 24x7 交易时段时,会出现 K 线的偏移。 如果您已通过变通方法解决此问题,请在更新此版本之前将其删除。

charting_library/charting_library.min.js 现在为 通用模块规范。 如果您只是将这个脚本嵌入到 HTML 中 - 没有任何改变。 但是,如果将它作为模块导入,则应该直接导入它的widget,version和onready函数。

Overlay 的覆盖只能通过 studies_overrides (或运行时的 applyStudiesOverrides )。 在以前版本中您可以使用 overrides 和 applyOverrides). 参见 页.

交易控制器被替换为.

方法 buttonDropdownItems 被删除。 经纪商 API 将使用 setButtonDropdownActions 更新。

方法 configFlags 和 durations 被删除。 使用 的字段代替。

tradingController 字段在 被删除。 改用 brokerFactory。

showSampleOrderDialog 已被移除。 请使用 代替。

在 中删除showOrderDialog, 使用 placeOrder 和 modifyOrder 接收 silently 参数。

Account Manager
交易主机
交易主机
Trading Host
Trading Host
Widget方法
Pane-Api
Pane-Api
setVisibleRange
symbol
saved_data
saved_data
symbol
Broker API
Trading Host
Trading Host
custom_indicators_getter
问题
UMD
指标覆盖
经纪商 API
交易主机
Widget 构造器
Widget 构造器
交易控制器
SymbolInfo
Broker API
交易主机
JS-Api
Promise
getCheckableActionState
lockAllDrawingTools
getCheckableActionState
hideAllDrawingTools
orders
ordersHistory
header_widget_buttons_mode
time_scale
settings_adapter
custom_indicators_getter
Account Manager 列描述
alignment
createButton
createButton
headerReady()
saveChartToServer
accountManagerInfo
Widget Constructor options
SortingParameters
Account Manager 列描述
table
takeScreenshot
onScreenshotReady
magnetEnabled
takeScreenshot
ActionMetaInfo
Promise<PlaceOrderResult>
session_holidays
getBars
getBars
countBack
configurationData
symbols_grouping
setPoints
showOrderDialog
crossHairMoved
createMultipointShape
TimeFrameValue
resetData() 方法
removeEntity
executeActionById
getCheckableActionState
executeActionById
getCheckableActionState
createStudy
createStudy
getVisibleRange
executeActionById
executeActionById
executeActionById