发布时间: 2019-07-03 02:59:00
1. tradingview, 可以获得当前的interval (resolution)
var widget = window.tvWidget = new TradingView.widget({
2. 增加各种study :
widget.onChartReady(function(){ //widget.chart().setChartType(1) widget.chart().createStudy('Moving Average', false, false, [5], null, {'Plot.linewidth': 1, 'Plot.color': 'rgb(163,124,190)'}) widget.chart().createStudy('Moving Average', false, false, [10], null, {'Plot.linewidth': 1, 'Plot.color': 'rgb(148,174,220)'}) widget.chart().createStudy('Moving Average', false, false, [30], null, {'Plot.linewidth': 1, 'Plot.color': 'rgb(110,181,132)'}) widget.chart().createStudy('Moving Average', false, false, [60], null, {'Plot.linewidth': 1, 'Plot.color': 'rgb(186,84,154)'}) });
3. 获得当前的 symbol 和 interval
tvWidget.symbolInterval() {symbol: "Coiex:Coiex:ETH /USDT", interval: "D"}
4. 更新K线图的机制:
每次用户从“小时”图,点击切换到“分钟”图时,会发起一个请求。
http://localhost:4200/api/v2/k?market=ethusdt&period=1&from=1562040530&to=1562126990
后面的 1562126990 ,就是访问K线的终止时间。这个时间在分钟的刻度上,比当前时间要多一分钟。
例如,当前时间是 12:01 , 那么发起请求的时间,是 12:02 (无论是1分钟,还是60分钟,还是1天,发起请求的结束时间,
都比当前时间 +1 分钟)
所以,如果我们要使用 tradingview来更新图的话,需要在后端实时的显示当前1分钟的K线,那么,就要提前在结果中返回,而不是
啥都没有。
4. 有时候会出现: library.19c99ed5d0307c67f071.js:601 putToCacheNewBar: time violation, previous bar time: 2019-07-03T03:35:00.000Z should be less or equal to new time: 2019-06-26T14:00:00.000Z
这个是在 加载完k 线图之后,subscribeBars 函数运行的时候出现的。这个是由于 之前查询到的k线节点,(例如 6.28号是最后一个 bar) 早于更新过来的bar 。(例如 7.3号) ,这样就不匹配了。
Back