10、版本变更点

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

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

以下是重大变更列表:

Version 21

交易终端

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

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

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

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

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

  • customFormatters 字段已从 accountManagerInfo 中删除。

  • idmodificationPropertyfixedWidthshowOnMobileshowTooltipOnCell 字段已从Account Manager 列描述 中删除。 property 字段已变为必填字段,因此您可以使用它代替 id

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

  • Broker APIplaceOrder方法的返回值由Promise<void>改为Promise<PlaceOrderResult>

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

  • Widget Constructor optionsnews_provider 属性已更改。 is_news_genericget_news 属性已被替换为单个函数。

Version 20

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

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

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

交易终端

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

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

  • 选项showOrderPanelshowDOMshowSellBuyButtons 已从defaultDropdownMenuActions 选项列表中删除。

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

  • 交易主机 symbolSnapshot 方法已被删除。

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

Version 19

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

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

交易终端

  • 交易主机defaultDropdownMenuActions 选项已更改。选项selectAnotherBrokerdisconnect 已被删除。

  • 交易主机 中方法buttonDropdownActions 的返回值已从BindPopupMenuActionDescription[] 更改为ActionMetaInfo 数组。

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

  • className 字段已从 Account Manager 列描述 中删除。使用 alignment 字段来控制单元格值的对齐方式。

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

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

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

    改为以下代码:

        // ...
    
        getBars(symbolInfo, resolution, periodParams, onHistoryCallback, onErrorCallback) {
            let { from, to, firstDataRequest } = periodParams;
            // 你的代码
        }
    
        // ...
  • getBars 中的to 日期从现在开始将不包含在k线范围中。 from 日期仍然包含在内。这意味着您不应该在响应中包含带有 time == to 的k线。

  • 自定义指标中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))

  • 移除了 JS-Api 中的 calculateHistoryDepth 方法。请改用 countBack

Version 18

交易终端

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

  • accountsListaccount 已从 Account Manager 信息中删除。他们已替换为方法: currentAccount, setCurrentAccountaccountsMetainfo 在 broker's API.

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

  • 方法 showClosePositionDialog 已被删除。

  • Trading Host 方法 floatingTradingPanelVisibility 被重命名为 sellBuyButtonsVisibility.

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

  • 标志supportOrderPreview 已重命名为supportPlaceOrderPreview

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

Version 17

  • 订单返回值已区分为 ordersordersHistory

  • Widget方法 setLanguage(locale) 已被删除。

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

  • 功能集 same_data_requery 已被删除, 请使用 resetData() 方法 刷新数据。

  • charting_library/charting_library.min.jscharting_library/charting_library.min.d.ts 重命名为 charting_library/charting_library.jscharting_library/charting_library.d.ts

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

交易终端

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

Version 16(更改版本)

  • 动作 tmzPropertiesexecuteActionByIdgetCheckableActionState 方法中被删除。

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

  • 数据列API方法 moveToOtherSourceScale 重命名为 changePriceScaleoptions参数中 new-leftnew-right

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

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

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

Version 1.15

交易终端

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

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

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

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

  • 参数 handleroptionsTrading HostshowOrderDailog 方法中被删除。

  • 参数 handlerTrading HostshowPositionBracketsDailog 方法中被删除。

  • 标记 supportCustomPlaceOrderTradableCheck 不再被支持。

  • 覆盖 symbolWatermarkProperties 不再被支持。 您可以使用 settings_adaptersymbolWatermark

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

Version 1.14

  • createButton 返回 HTMLElement 以代替 JQuery.

  • createButton 必须在 headerReady()返回的 Promise 为 resolved 之后使用.

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

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

  • saveChartToServersaveAsSnapshot 参数被删除。

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

TypeScript 类型定义

  • StudyInputValueType 改名为 StudyInputValue.

功能集

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

Version 1.13

Version 1.12

图表库

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

  • searchSymbolsByNameJS-API 中移除, 使用 searchSymbols 代替。

指标覆盖:

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

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

交易终端

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

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

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

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

交易控制器被替换为经纪商 API.

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

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

  • 方法 buttonDropdownItems 被删除。 经纪商 API 将使用 setButtonDropdownActions 更新交易主机

  • 方法 configFlagsdurations 被删除。 使用 Widget 构造器 的字段代替。

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

  • 方法 chartContextMenuItems 重命名为 chartContextMenuActions

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

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

  • 仓位的 avg_price 重命名为 avgPrice

  • tradingController 字段在 Widget 构造器 被删除。 改用 brokerFactory

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 输入参数时一个对象而不是列表

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

  • 交易控制器 中删除showOrderDialog, 使用 placeOrdermodifyOrder 接收 silently 参数。

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

Version 1.7

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

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

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.wickUpColormainSeriesProperties.candleStyle.wickDownColor

最后更新于