通过tradingview的getBars获取k线的历史数据,正常情况下是没问题的。但如果在某种k线的第一次加载时,后台数据有缺失导致返回的是空数组,tradingview就不会绘制k线。
就像这样,画面不能拖动或缩放,导致缺失数据的时间段之前的k线也无法查看。后台历史记录的接口是基于传入两个时间点返回期间的k线数据,缺失数据的时间段不确定,可能会比较长。而且不能把首次加载时请求的时间段设得太长,否则加载会很慢
这是获取数据后调用的方法,data为从后台请求到的数据,begin为getBars传过来的参数中的begin
onHistoryCallback(data, {noData: !data.length, nextTime: !data.length ? begin : null})
现在的问题是,怎样能在首次请求数据为空数组的情况下使tradingview能继续加载之前的数据?,不管是让它自动向前加载还是手动拖拽加载都行。尝试过将noData设定为true或false,或修改nextTime的值,tradingview不是没继续请求就是不断发起请求,但请求的参数起始和终止时间都是nextTime的值,而不是一个时间段
各位用过的能指点一下,先谢了
我解决了,你应该 是报
getBars callback is already called before
这个错误原因是 你重复利用了
getBars
里面的onDataCallback
这个callback
只能引用一次技巧一 初始化
new TradingView.widget({timeframe:'N个 他会+30很奇怪',...})
技巧二
getBars
他自己会递归 加载from to
订阅加载都行onDataCallback
给回调或者 全局且只能一次