跨周期指标为什么是上一根k线数据??

下面是很简单的公式,data0的数据用的是30分钟。在data0图层里可以看到。data1.c显示的30分钟k线,当天日线收盘的价格。但是同样是用这些数据计算的data1.zhongxinlineday显示却是当前30分钟k线的上一日日线的计算结果。请问里面是什么逻辑。验证了几种公式,都是这种现象。 Params Vars Series<Numeric> zhongxinlineday; Events OnInit() { SubscribeBar(data0.Symbol,"1d",Data0.BeginDateTime);//订阅行情 } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.zhongxinlineday="+Text(data1.zhongxinlineday)); Commentary("data1.c="+Text(data1.c)); } Range[1:1] { zhongxinlineday=Average((Close+h+l)/3,5); //更紧凑的中轨线 } }

小周期调用大周期,大周期也是要回溯1的,不然小周期没有走完,怎么可以确定大周期的当前的收盘,仔细想想 Params Vars Series<Numeric> zhongxinlineday; Events OnInit() { SubscribeBar(data0.Symbol,"1d",Data0.BeginDateTime);//订阅行情 } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.zhongxinlineday="+Text(data1.zhongxinlineday)); Commentary("data1.c[1]="+Text(data1.c[1])); } Range[1:1] { zhongxinlineday=Average((Close+h+l)/3,5); //更紧凑的中轨线 } }

我来试下

回复:这里主要是想知道这个跨周期的设计逻辑。一开始我以为跨周期有点像全局变量,小周期图层a读取大周期图层b的某个公式计算出的值,是实时同步的,现在看起来不是这样的。如果明确tb的设计原则是小周期读取大周期是回溯的,也没问题。重要的是明确,到底是那种方式,这样编程的时候才不会混乱。