• Widget方法
  • Methods
  • 订阅图表事件
    • onChartReady(callback)
    • onGrayedObjectClicked(callback)
    • onShortcut(shortcut, callback)
    • subscribe(event, callback)
    • unsubscribe(event, callback)
  • 图表功能
    • chart()
    • setLanguage(locale)
    • setSymbol(symbol, interval, callback)
    • remove()
    • closePopupsAndDialogs()
    • selectLineTool(drawingId)
    • selectedLineTool()
    • ### takeScreenshot()
    • ### lockAllDrawingTools()
  • 保存/加载图表
    • save(callback)
    • load(state)
    • getSavedCharts(callback)
    • loadChartFromServer(chartRecord)
    • saveChartToServer(onCompleteCallback, onFailCallback, saveAsSnapshot, options)
    • removeChartFromServer(chartId, onCompleteCallback)
  • Custom UI Controls
    • onContextMenu(callback)
    • createButton(options)
  • 对话框
    • showNoticeDialog(params)
    • showConfirmDialog(params)
    • showLoadChartDialog()
    • showSaveAsChartDialog()
  • Getters
    • symbolInterval(callback)
    • mainSeriesPriceFormatter()
    • getIntervals()
    • getStudiesList()
  • 定制
    • addCustomCSSFile(url)
    • applyOverrides(overrides)
    • applyStudiesOverrides(overrides)
  • 交易终端特制" level="1">4-3、Widget方法 - 图1交易终端特制
    • watchList()" level="4">4-3、Widget方法 - 图2watchList()
  • 多图表布局" level="1">4-3、Widget方法 - 图3多图表布局
    • chart(index)" level="4">4-3、Widget方法 - 图4chart(index)
    • activeChart()" level="4">4-3、Widget方法 - 图5activeChart()
    • chartsCount()" level="4">4-3、Widget方法 - 图6chartsCount()
    • layout()" level="4">4-3、Widget方法 - 图7layout()
    • setLayout(layout)" level="4">4-3、Widget方法 - 图8setLayout(layout)
  • 也可以看看

    Widget方法


    以下是widget支持的方法列表。您可以使用widget构造函数返回给您的widget对象来调用它们。

    Remark: 请注意,只有在onChartReady回调触发后才可以调用这些方法。 所以常见的做法就是这样:

    1. widget.onChartReady(function() {
    2. // 现在可以调用其他widget的方法了
    3. });

    Methods

    • 订阅图表事件
      • onChartReady(callback)
      • onGrayedObjectClicked(callback)
      • onShortcut(shortcut, callback)
      • subscribe(event, callback)
      • unsubscribe(event, callback)
    • 图表动作
      • chart()
      • setLanguage(locale)
      • setSymbol(symbol, interval, callback)
      • remove()
      • closePopupsAndDialogs()
      • selectLineTool(drawingId)
      • selectedLineTool()
      • takeScreenshot()
      • lockAllDrawingTools()
    • 保存/加载图表
      • save(callback)
      • load(state)
      • getSavedCharts(callback)
      • loadChartFromServer(chartRecord)
      • saveChartToServer(onCompleteCallback, onFailCallback, saveAsSnapshot, options)
      • removeChartFromServer(chartId, onCompleteCallback)
    • 自定义UI控件
      • onContextMenu(callback)
      • createButton(options)
    • 对话框
      • showNoticeDialog(params)
      • showConfirmDialog(params)
      • showLoadChartDialog()
      • showSaveAsChartDialog()
    • Getters
      • symbolInterval(callback)
      • mainSeriesPriceFormatter()
      • getIntervals()
      • getStudiesList()
    • 定制
      • addCustomCSSFile(url)
      • applyOverrides(overrides)
      • applyStudiesOverrides(overrides)
    • 4-3、Widget方法 - 图9交易终端特制
      • showSampleOrderDialog(order)
      • watchList()
    • 4-3、Widget方法 - 图10多图表布局
      • chart(index)
      • activeChart()
      • chartsCount()
      • layout()
      • setLayout(layout)

    订阅图表事件

    onChartReady(callback)

    1. callback: function()

    当图表初始化并准备就绪时,图表库将调用提供的回调。 你可以从这一刻安全地调用所有其他方法。

    onGrayedObjectClicked(callback)

    1. callback: function(subject)
      1. subject: object{type, name}
        1. type:drawing|study
        2. name: string, 被点击的主题名称

    每次用户点击灰色的对象时,图表库都会调用此回调函数。例:

    1. new TradingView.widget({
    2. drawings_access: {
    3. type: "black",
    4. tools: [
    5. { name: "Regression Trend" },
    6. { name: "Trend Angle", grayed: true },
    7. ]
    8. },
    9. studies_access: {
    10. type: "black",
    11. tools: [
    12. { name: "Aroon" },
    13. { name: "Balance of Power", grayed: true },
    14. ]
    15. },
    16. <...> // other widget settings
    17. });
    18. widget.onChartReady(function() {
    19. widget.onGrayedObjectClicked(function(data) {
    20. // 当您尝试创建力量平衡研究或趋势图形时
    21. // 此方法将被调用
    22. alert(data.name + " is grayed out!");
    23. })
    24. });

    onShortcut(shortcut, callback)

    1. shortcut
    2. callback: function(data)

    每当按下快捷键时,图书馆将会调用此回调。

    例:

    1. widget.onShortcut("alt+s", function() {
    2. widget.executeActionById("symbolSearch");
    3. });

    subscribe(event, callback)

    1. event: can be
    Event name Library Version Description
    toggle_sidebar 绘图工具栏 显示/隐藏
    indicators_dialog 显示指标对话框
    toggle_header 图表头 显示/隐藏
    edit_object_dialog 显示图/研究属性对话框
    chart_load_requested 即将载入的新图表
    chart_loaded
    mouse_down
    mouse_up
    drawing 1.7 在图表上增加绘图。参数包含具有value字段的对象,该字段为绘图的名称。
    study 1.7 在图表上增加指标。参数包含具有value字段的对象,该字段为指标的名称。
    undo 1.7
    redo 1.7
    reset_scales 1.7 复位比例按钮被点击后
    compare_add 1.7 显示比较对话框
    add_compare 1.7 添加比较工具
    load_study template 1.7 研究模板被载入后
    onTick 回调将被调用每当最近的K线更新时
    onAutoSaveNeeded 每当用户更改图表时,库将调用该回调。Chart change意味着可以撤消用户的任何操作。回调不会在五秒内多次调用。参见auto_save_delay
    onScreenshotReady 每当用户创建屏幕截图和服务器返回创建的图像名称时。
    onMarkClick 每次当用户点击K线上的标记时。mark on bar. 标记ID将作为参数传递。
    onTimescaleMarkClick 每当用户单击时间刻度标记时,将调用回调。 标记ID将作为参数传递
    onSelectedLineToolChanged 每次当选择的线工具更改时,将调用回调。
    4-3、Widget方法 - 图11layout_about_to_be_changed 要更改图表的数量或位置时
    4-3、Widget方法 - 图12layout_changed 已经更改图表的数量或位置时
    4-3、Widget方法 - 图13activeChartChanged 活动图表被更改

    2.callback: function(arguments)

    当GUI事件发生时,图表库将调用回调。 每个事件都可以有不同的参数。

    unsubscribe(event, callback)

    取消订阅特定事件 (即上表中的事件之一) 。

    图表功能

    chart()

    返回图表对象,可用于调用Chart-Methods

    setLanguage(locale)

    1. locale
      :
      language code

    设置Widget的语言。 目前此调用将重新加载图表。请避免使用它。

    setSymbol(symbol, interval, callback)

    1. symbol: string
    2. interval: string
    3. callback: function()

    使图表更改其商品和分辨率。 新商品的数据到达后调用回调。

    remove()

    从您的页面中删除widget。

    closePopupsAndDialogs()

    调用此方法会关闭上下文菜单或对话框(如果已显示)。

    selectLineTool(drawingId)

    1. drawingId: 可以为一个标识符 或
      1. cursor
      2. dot
      3. arrow_cursor
      4. eraser
      5. measure
      6. zoom
      7. brush

    选择与绘图按钮上的单击相同的图形或光标。

    selectedLineTool()

    返回所选图形或光标的标识符(见上文)。

    ### takeScreenshot()

    此方法创建图表的快照并将其上传到服务器。

    完成后, 调用 onScreenshotReady 回调函数。

    快照的 URL 将作为参数传递给回调函数。

    ### lockAllDrawingTools()

    此方法返回一个 WatchedValue object
    对象, 可用于读取/设置/监视 “锁定所有绘图工具” 按钮的状态。

    保存/加载图表

    save(callback)

    1. callback: function(object)

    将图表状态保存到JS对象。图表库将调用您的回调函数并将状态对象作为参数传递。 这个调用是一部分低级别的save/load API.

    load(state)

    1. state: object

    从状态对象加载图表。这个调用是一部分低级别的save/load API.

    getSavedCharts(callback)

    1. callback: function(objects)

    objectsis an array of:

    1. id
    2. name
    3. image_url
    4. modified_iso
    5. short_symbol
    6. interval

    返回当前用户在服务器上保存的图表描述列表。

    loadChartFromServer(chartRecord)

    1. chartRecord是您使用getSavedCharts(callback) 的对象

    从服务器加载并显示图表。

    saveChartToServer(onCompleteCallback, onFailCallback, saveAsSnapshot, options)

    1. onCompleteCallback: function()
    2. onFailCallback: function()
    3. saveAsSnapshot: should be alwaysfalse
    4. options: object{ chartName }
      1. chartName: 图表名称。应指定新图表并重命名。
      2. defaultChartName: 图表的默认名称。 如果当前图表没有名称,它将被使用。

    将当前图表保存到服务器。

    removeChartFromServer(chartId, onCompleteCallback)

    1. chartId:调用getSavedCharts(callback)后获得的id
    2. onCompleteCallback: function()

    从服务器移除图表。

    Custom UI Controls

    onContextMenu(callback)

    1. callback: function(unixtime, price). 此回调将返回一个值(见下文)。

    当用户打开图表上的菜单时,库将调用回调函数。UNIX时间和菜单点的价格将作为参数提供。要自定义菜单项,您必须返回项目描述数组。项目描述对象具有以下结构:

    1. {
    2. position: 'top' | 'bottom',
    3. text: 'Menu item text',
    4. click: <onItemClicked callback>
    5. }
    • position: 项目在菜单中的位置
    • text: 菜单项文本
    • click: 当用户选择您的菜单项时将被调用

    添加分隔符使用减号。 例:{ text: "-", position: "top" }.

    要从菜单中删除现有项目,请在项目文本前面使用减号。 例:{ text: "-Objects Tree..." }

    例:

    1. widget.onChartReady(function() {
    2. widget.onContextMenu(function(unixtime, price) {
    3. return [{
    4. position: "top",
    5. text: "First top menu item, time: " + unixtime + ", price: " + price,
    6. click: function() { alert("First clicked."); }
    7. },
    8. { text: "-", position: "top" },
    9. { text: "-Objects Tree..." },
    10. {
    11. position: "top",
    12. text: "Second top menu item 2",
    13. click: function() { alert("Second clicked."); }
    14. }, {
    15. position: "bottom",
    16. text: "Bottom menu item",
    17. click: function() { alert("Third clicked."); }
    18. }];
    19. });

    createButton(options)

    1. options: object{ align: "left" }
      1. align: “right” | “left”. default: “left”

    在图表顶部工具栏中创建一个新的DOM元素,并返回此按钮的jQuery对象。 您可以使用它直接在图表上附加自定义控件。 例:

    1. widget.onChartReady(function() {
    2. widget.createButton()
    3. .attr('title', "My custom button tooltip")
    4. .on('click', function (e) { alert("My custom button pressed!"); })
    5. .append($('<span>My custom button caption</span>'));
    6. });

    对话框

    Since 1.6 version

    showNoticeDialog(params)

    1. params: 对象:
      1. title: 标题
      2. body: 正文
      3. callback: 当按下ok按钮时调用的函数。

    此方法显示一个对话框,其中包含自定义标题和文本以及“确定”按钮。

    showConfirmDialog(params)

    1. params: 对象:
      1. title: 标题
      2. body: 正文
      3. callback(result): 当按下ok按钮时调用的函数。
        result点击ok时为true, 否则为false

    此方法显示一个带有自定义标题和文本以及”确定”、”取消”按钮的对话框。

    showLoadChartDialog()

    显示加载图表对话框。

    showSaveAsChartDialog()

    显示另存为…图表对话框。

    Getters

    symbolInterval(callback)

    1. callback: function(result)
      1. result: object{symbol, interval}

    由于1.4开始方法会立即返回结果。回调是为了保证兼容性。

    图表库将调用回调函数,参数对象包含图表商品和时间间隔。

    mainSeriesPriceFormatter()

    返回一个带有format方法的对象,用来批量格式化价格。 被引入在1.5.

    getIntervals()

    返回支持的分辨率数组。被引入在1.7.

    getStudiesList()

    返回全部技术指标数组,您可以通过它们创建技术指标指示器。

    定制

    addCustomCSSFile(url)

    1. url 绝对或相对路径的 static 文件夹

    该方法在版本1.3中引入。从1.4开始,使用custom_css_url替代。

    applyOverrides(overrides)

    该方法在版本1.5中引入

    1. overrides为一个对象,和overrides相同。

    此方法在不重新加载图表的情况下将覆盖应用属性。

    applyStudiesOverrides(overrides)

    该方法在版本1.9中引入

    1. overrides 为一个对象,和studies_overrides相同。

    此方法将重写研究的指标样式或输入参数,而无需重新加载图表。

    交易终端特制" class="reference-link">4-3、Widget方法 - 图14交易终端特制

    以下方法只在交易终端可用.

    watchList()" class="reference-link">4-3、Widget方法 - 图15watchList()

    该方法在版本1.9中引入

    返回一个对象来操作观察列表。 该对象具有以下方法:

    1. defaultList()- 允许您获取默认的商品列表。
    2. getList(id?: string)- 允许您获取商品列表。 如果未传递id 则返回当前列表。 如果没有监视列表则返回 null

    3. getActiveListId() - 允许您获取当前列表的ID。如果没有监视列表则返回null

    4. getAllLists() - 允许您获取所有列表。如果没有监视列表则返回null

    5. setList(symbols: string[])- 允许您将商品列表设置到观察列表中。 它将替换整个列表。过时。将在 1.13版本中删除。用 updateList 替换。

    6. updateList(listId: string, symbols: string[]) - 允许您编辑商品列表。

    7. renameList(listId: string, newName: string) - 允许您将列表重命名为 newName.

    8. createList(listName?: string, symbols?: string[]) - 允许您创建具有listName 名称的符号列表。如果未传递 listName 参数或者没有监视列表,则返回 null

    9. saveList(list: SymbolList) - 允许您保存一个商品列表, list 是具有以下key的集合对象:

    1. id: string;
    2. title: string;
    3. symbols: string[];

    如果没有监视列表或者已有一个等价列表,则返回false 否则返回 true

    1. deleteList(listId: string) - 允许您删除商品列表。
    2. onListChanged()- 当在监视列表中的商品更改时, 可以使用此方法进行通知。您可以使用此方法返回的 Subscription对象进行订阅和取消订阅。

    3. onActiveListChanged() - 当选择了不同的监视列表时, 可以使用此方法进行通知。您可以使用此方法返回的 Subscription对象进行订阅和取消订阅。

    4. onListAdded() - - 当新的列表添加到监视列表中时, 可以使用此方法进行通知。您可以使用此方法返回的 Subscription对象进行订阅和取消订阅。

    5. onListRemoved() - 当监视列表中删除商品列表时, 可以使用此方法进行通知。您可以使用此方法返回的 Subscription对象进行订阅和取消订阅。

    6. onListRenamed() - - 当监视列表中重命名商品列表时, 可以使用此方法进行通知。您可以使用此方法返回的 Subscription对象进行订阅和取消订阅。

    多图表布局" class="reference-link">4-3、Widget方法 - 图16多图表布局

    chart(index)" class="reference-link">4-3、Widget方法 - 图17chart(index)

    1. index: 从0开始的图表索引,默认为0。

    返回chart对象,用于调用Chart-Methods

    activeChart()" class="reference-link">4-3、Widget方法 - 图18activeChart()

    返回当前chart对象,用于调用Chart-Methods

    chartsCount()" class="reference-link">4-3、Widget方法 - 图19chartsCount()

    返回当前布局的图表数目。

    layout()" class="reference-link">4-3、Widget方法 - 图20layout()

    返回当前布局模式。 可能的值:4,6,8,s,2h,2-1,2v,3h,3v,3s.

    setLayout(layout)" class="reference-link">4-3、Widget方法 - 图21setLayout(layout)

    1. layout: Possible values:4,6,8,s,2h,2-1,2v,3h,3v,3s.

    变更当前图表布局。

    也可以看看

    • 图表方法
    • 定制概述
    • Widgetg构造函数
    • 存储与加载图表
    • 覆盖默认研究参数
    • 覆盖默认图表参数