TB跨周期问题,为了避免引入未来数据,是否会系统性的延迟一根K线

我有个问题关于TB跨周期的,就是为了避免引入未来数据,在小周期引用大周期数据的时候需要用close[1]来将数据前移一根


那么当小周期和大周期K线同时结束的那一根K线上,小周期其实直接获取大周期的close也不算是未来数据,但是为了避免其他K线上的未来数据问题还是使用了close[1],也就是说在TB这种跨周期机制上,引用大周期的数据永远要落后一根K线


比如60min大周期和30min小周期的图上,在10:00时间点,我30min的K线得用9:00的60minK线才不会有未来数据,但是在10:30这个30min K线上,其实我可以直接用10:00的60min K线也不会有问题的,但是TB中还是用了9:00的K线。


所以在TB中跨周期K线永远要落后的

跨周期策略的大周期回测可能引入未来数据的问题
关于跨周期未来数据如何避免,已经翻过很多贴子,还是有疑问
跨周期策略的指标数据延迟问题
跨周期下小周期K线缺失
tbquant3历史数据读取小周期颗粒度的未来数据问题
如何以events之前,约定每个K线的时间——解决跨周期引用的问题
为了避免信号闪烁,使用前K线数据,开平在当前K线的OPNE,又设置了收盘提前30秒平仓,是否有影响。
TB跨周期MA的问题
跨周期指标为什么是上一根k线数据??
历史数据逻辑错误,k线周期越大,错误越严重

我觉得你想引用大周期当前的close来做对比,就已经是用了未来数据,实盘也会闪烁。

落后什么东西

你既然有小周期数据了所有的数据都可以通过小周期数据去获取

这不就不会落后了么

当然你如果有更好的跨周期方案可以提出来

你的意思是我们自己从小周期来合成大周期数据吗,那你是这样做的吗,还是直接用range和数据图层来获取跨周期数据的

举个例子,在历史k线上,如果我想以1分钟周期上,获得对应1小时bar的最高价最低价,那肯定是自己通过1分钟的数据自己去合成。一根k线无法将它内部所有时间的tick数据都记录下来,否则那就直接加载tick就好了。

需要用array来做,非常麻烦的。

如果都是这样做,那TB没必要提供那么多功能了,什么多图层,跨周期,range函数之类的都好删掉了,直接自己Python去搞就行了。