在正常使用中,我们都知道 getBars 方法用于获取K线加载所需的历史数据;官方文档有对这个方法的详细说明,来看下这段解释:
通俗的理解就是说使用getBars方法时候,图表库会自动计算所需要的数据范围用于K线的展示;相关参数在 periodParams 里面提供,我们传递给Api用于请求返回相关数据,getBars方法如下:
getBars(symbolInfo
, resolution
, periodParams
, onResult
, onError
): void
const { from, to, countBack } = periodParams
from, to, countBack 这三个参数至关重要,要合理利用起来,不然就会出现当你的Api返回的数据不足时候,图表库会再次触发请求。
前面都是正常的使用场景,相信读到这篇文章的大佬都会使用。步入正题,某一天你的Boss突然来了一句“K线图表每次请求了多少数据量啊,怎么感觉加载比较慢呢”;你开始查看文档并且会发现如上所述,数据量不是我们自己控制的而是图表库自己计算的,而且你会发现图表库自己计算的数量 countBack 远远大于屏幕实际显示的数据条数,因为这是图表库本身的预加载策略,多加载了一部分数据。
到底可以控制吗,反馈给Boss吧文档说了不可控制,Boss同意这样了那你就烧高香了;Boss如果说再研究研究吧,那就要开始你的挠腮之路,百度一下吧,这类文章少之又少,AI一下吧发现依然如此答非所问。当你快要放弃的时候还是回到文档上来,山重水复疑无路,柳暗花明又一村;发现文档上 Featuresets 里面竟然有相关的设置 如下图:
determine_first_data_request_size_using_visible_range
没错就是她,你会喜欢的,放上去试试吧!