跨周期指标为什么是上一根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);  //更紧凑的中轨线
              
           }
         
        } 
            
      
 

TB跨周期问题,为了避免引入未来数据,是否会系统性的延迟一根K线
跨周期下小周期K线缺失
跨周期策略的指标数据延迟问题
跨周期指标应用方法
跨周期引用数据
K线是一根横线是怎么回事?
历史数据逻辑错误,k线周期越大,错误越严重
跨周期
跨周期引用如何在小周期实时显示大周期指标?
跨周期指标调用回测问题

小周期调用大周期,大周期也是要回溯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的设计原则是小周期读取大周期是回溯的,也没问题。重要的是明确,到底是那种方式,这样编程的时候才不会混乱。