Widget方法
Remark: 请注意,只有在onChartReady回调触发后才可以调用这些方法。 所以常见的做法就是这样:
Methods
- 订阅图表事件
- 图表动作
- 保存/加载图表
- 自定义UI控件
- 对话框
- Getters
- 定制
- 多图表布局
订阅图表事件
- : function()
当图表初始化并准备就绪时,图表库将调用提供的回调。 你可以从这一刻安全地调用所有其他方法。
onGrayedObjectClicked(callback)
callback
: function(subject)subject
: object{type, name}
type
:drawing
|study
name
: string, 被点击的主题名称
每次用户点击灰色的对象时,图表库都会调用此回调函数。例:
new TradingView.widget({
drawings_access: {
type: "black",
tools: [
{ name: "Regression Trend" },
{ name: "Trend Angle", grayed: true },
]
},
studies_access: {
type: "black",
tools: [
{ name: "Aroon" },
{ name: "Balance of Power", grayed: true },
]
},
<...> // other widget settings
});
widget.onChartReady(function() {
widget.onGrayedObjectClicked(function(data) {
// 当您尝试创建力量平衡研究或趋势图形时
// 此方法将被调用
alert(data.name + " is grayed out!");
})
});
onShortcut(shortcut, callback)
shortcut
callback
: function(data)
每当按下快捷键时,图书馆将会调用此回调。
例:
subscribe(event, callback)
event
: can be
2.callback
: function(arguments)
当GUI事件发生时,图表库将调用回调。 每个事件都可以有不同的参数。
unsubscribe(event, callback)
取消订阅特定事件 (即上表中的事件之一) 。
图表功能
chart()
返回图表对象,可用于调用Chart-Methods
setLanguage(locale)
locale
:
language code
设置Widget的语言。 目前此调用将重新加载图表。请避免使用它。
setSymbol(symbol, interval, callback)
symbol
: stringinterval
: stringcallback
: function()
使图表更改其商品和分辨率。 新商品的数据到达后调用回调。
remove()
从您的页面中删除widget。
closePopupsAndDialogs()
调用此方法会关闭上下文菜单或对话框(如果已显示)。
selectLineTool(drawingId)
drawingId
: 可以为一个 或cursor
dot
arrow_cursor
eraser
measure
brush
选择与绘图按钮上的单击相同的图形或光标。
selectedLineTool()
返回所选图形或光标的(见上文)。
### takeScreenshot()
此方法创建图表的快照并将其上传到服务器。
完成后, 调用 回调函数。
快照的 URL 将作为参数传递给回调函数。
### lockAllDrawingTools()
此方法返回一个 object
对象, 可用于读取/设置/监视 “锁定所有绘图工具” 按钮的状态。
保存/加载图表
save(callback)
callback
: function(object)
将图表状态保存到JS对象。图表库将调用您的回调函数并将状态对象作为参数传递。 这个调用是一部分低级别的save/load API.
load(state)
state
: object
从状态对象加载图表。这个调用是一部分低级别的save/load API.
getSavedCharts(callback)
callback
: function(objects)
is an array of:
id
name
image_url
modified_iso
short_symbol
interval
loadChartFromServer(chartRecord)
chartRecord是您使用
的对象
从服务器加载并显示图表。
saveChartToServer(onCompleteCallback, onFailCallback, saveAsSnapshot, options)
onCompleteCallback
: function()onFailCallback
: function()saveAsSnapshot
: should be alwaysfalse
options
: object{ chartName }
chartName
: 图表名称。应指定新图表并重命名。defaultChartName
: 图表的默认名称。 如果当前图表没有名称,它将被使用。
将当前图表保存到服务器。
removeChartFromServer(chartId, onCompleteCallback)
chartId
:调用
getSavedCharts(callback)后获得的id
onCompleteCallback
: function()
从服务器移除图表。
Custom UI Controls
onContextMenu(callback)
callback
: function(unixtime, price). 此回调将返回一个值(见下文)。
当用户打开图表上的菜单时,库将调用回调函数。UNIX时间和菜单点的价格将作为参数提供。要自定义菜单项,您必须返回项目描述数组。项目描述对象具有以下结构:
{
position: 'top' | 'bottom',
text: 'Menu item text',
click: <onItemClicked callback>
}
position
: 项目在菜单中的位置text
: 菜单项文本click
: 当用户选择您的菜单项时将被调用
添加分隔符使用减号。 例:{ text: "-", position: "top" }
.
要从菜单中删除现有项目,请在项目文本前面使用减号。 例:{ text: "-Objects Tree..." }
例:
createButton(options)
options
: object{ align: "left" }
align
: “right” | “left”. default: “left”
在图表顶部工具栏中创建一个新的DOM元素,并返回此按钮的jQuery对象。 您可以使用它直接在图表上附加自定义控件。 例:
widget.onChartReady(function() {
widget.createButton()
.attr('title', "My custom button tooltip")
.on('click', function (e) { alert("My custom button pressed!"); })
.append($('<span>My custom button caption</span>'));
});
对话框
Since 1.6 version
showNoticeDialog(params)
params
: 对象:title
: 标题body
: 正文callback
: 当按下ok按钮时调用的函数。
此方法显示一个对话框,其中包含自定义标题和文本以及“确定”按钮。
showConfirmDialog(params)
params
: 对象:title
: 标题body
: 正文callback(result)
: 当按下ok按钮时调用的函数。result
点击ok时为true
, 否则为false
。
此方法显示一个带有自定义标题和文本以及”确定”、”取消”按钮的对话框。
showLoadChartDialog()
显示加载图表对话框。
showSaveAsChartDialog()
显示另存为…图表对话框。
Getters
symbolInterval(callback)
callback
: function(result)result
: object{symbol, interval}
由于1.4开始方法会立即返回结果。回调是为了保证兼容性。
图表库将调用回调函数,参数对象包含图表商品和时间间隔。
mainSeriesPriceFormatter()
返回一个带有format
方法的对象,用来批量格式化价格。 被引入在1.5.
getIntervals()
返回支持的分辨率数组。被引入在1.7.
getStudiesList()
返回全部技术指标数组,您可以通过它们创建技术指标指示器。
定制
addCustomCSSFile(url)
url
绝对或相对路径的 文件夹
该方法在版本1.3
中引入。从1.4开始,使用custom_css_url替代。
applyOverrides(overrides)
该方法在版本1.5
中引入
overrides
为一个对象,和overrides相同。
此方法在不重新加载图表的情况下将覆盖应用属性。
applyStudiesOverrides(overrides)
该方法在版本1.9
中引入
overrides
为一个对象,和studies_overrides相同。
交易终端特制
以下方法只在交易终端可用.
watchList()
该方法在版本1.9
中引入
返回一个对象来操作观察列表。 该对象具有以下方法:
defaultList()
- 允许您获取默认的商品列表。getList(id?: string)
- 允许您获取商品列表。 如果未传递id
则返回当前列表。 如果没有监视列表则返回null
。getActiveListId()
- 允许您获取当前列表的ID。如果没有监视列表则返回null
。getAllLists()
- 允许您获取所有列表。如果没有监视列表则返回null
。setList(symbols: string[])
- 允许您将商品列表设置到观察列表中。 它将替换整个列表。过时。将在1.13
版本中删除。用updateList
替换。updateList(listId: string, symbols: string[])
- 允许您编辑商品列表。renameList(listId: string, newName: string)
- 允许您将列表重命名为newName
.createList(listName?: string, symbols?: string[])
- 允许您创建具有listName
名称的符号列表。如果未传递listName
参数或者没有监视列表,则返回null
。saveList(list: SymbolList)
- 允许您保存一个商品列表,list
是具有以下key的集合对象:
如果没有监视列表或者已有一个等价列表,则返回false
否则返回 true
。
deleteList(listId: string)
- 允许您删除商品列表。onListChanged()
- 当在监视列表中的商品更改时, 可以使用此方法进行通知。您可以使用此方法返回的 Subscription对象进行订阅和取消订阅。onActiveListChanged()
- 当选择了不同的监视列表时, 可以使用此方法进行通知。您可以使用此方法返回的 对象进行订阅和取消订阅。onListAdded()
- - 当新的列表添加到监视列表中时, 可以使用此方法进行通知。您可以使用此方法返回的 Subscription对象进行订阅和取消订阅。onListRemoved()
- 当监视列表中删除商品列表时, 可以使用此方法进行通知。您可以使用此方法返回的 对象进行订阅和取消订阅。onListRenamed()
- - 当监视列表中重命名商品列表时, 可以使用此方法进行通知。您可以使用此方法返回的 Subscription对象进行订阅和取消订阅。
多图表布局
chart(index)" class="reference-link">chart(index)
index
: 从0开始的图表索引,默认为0。
返回chart对象,用于调用
activeChart()" class="reference-link">activeChart()
返回当前chart对象,用于调用
chartsCount()" class="reference-link">chartsCount()
返回当前布局的图表数目。
layout()
返回当前布局模式。 可能的值:4
,6
,8
,s
,2h
,2-1
,2v
,3h
,3v
,3s
.
setLayout(layout)" class="reference-link">setLayout(layout)
layout
: Possible values:4
,6
,8
,s
,2h
,2-1
,2v
,3h
,3v
,.
变更当前图表布局。