交易视图图表时间顺序违反错误



我用TradingView库创建了一个图表。这是我用来初始化图表的选项:

var widget = window.tvWidget = new TradingView.widget({
debug: true,
fullscreen: true,
symbol: 'WEBT',
interval: '60',
height: "142px",
container_id: "tv_chart_container",
datafeed: new Datafeeds.UDFCompatibleDatafeed("/tradingview/udf"),
library_path: "/assets/charting_library/",
disabled_features: ["use_localstorage_for_settings"],
charts_storage_api_version: "1.1",
client_id: 'tradingview.dotnet',
user_id: 'public_user_id',
theme: getParameterByName('theme'),
time_frames: [
{ text: "60", resolution: "60"},
{ text: "1D", resolution: "1D"},
{ text: "1W", resolution: "1W"},
],
});

我使用UDF将数据从服务器传输到图表。UDF返回如下响应:

{"s":"ok","t":[1612432588,1612446988],"c":[10000,9999],"o":[21000,9999],"h":[21000,9999],"l":[10000,9999],"v":[76300,19998]}

加载图表后,控制台出现错误:

PutToCacheNewBar: time violation, previous bar time: 2021-02-04T13:56:48.000Z should be less or equal to new time: 2021-02-04T09:56:58.000 
time order violation, prev: Thu, 04 Feb 2021 13:56:48 GMT, cur: Thu, 04 Feb 2021 09:56:58 GMT

和每次UDF加载蜡烛的体积变化!

发现当我从resolveSymbol配置中删除has_empty_bars: true时,它似乎工作得很好。

putToCacheNewBar错误消息发生时,实时更新(从SubscribeBars)给图表一个新的条形,其time值比当前最新的条形早。实时更新应该只更新最新的栏(时间相同),或者提供一个更新的栏(时间稍后)。它应该只提供单个条的数据。

https://github.com/tradingview/charting_library/wiki/JS-Api subscribebarssymbolinfo-resolution-onrealtimecallback-subscriberuid-onresetcacheneededcallback

bar数组应根据'time'值升序排序。

最新更新