代码中data0是30分钟周期,data1是一小时周期
根据TB教材上的描述,我代码中的data1应该只有每次一小时周期更新的时候,才会执行一次,但是我根据输出的内容反馈如下:同一根data1的K线输出了两次内容。


代码如下:
    
Defs
    //此处添加公式函数
    //log输出
    Integer LogFile(StringRef str)
    {
        FileAppend("D:\\交易日志\\"+FormulaName(),"["+Text(CurrentBar)+"] "+ str);
        Return 0;
    }
Events
    OnInit()
    {
        SubscribeBar(data0.Symbol,"1h",data0.BeginDateTime);
    }
    
    OnReady()
    {    
        Point = (MinMove*PriceScale);
        Print(RelativeSymbol+",一跳:"+Text(Point)+",一手:"+Text(ContractUnit()));    
        
    }
    
    OnBar(ArrayRef<Integer> indexs)
    {
        data0.LogFile("data0");
        data1.LogFile("data1");   //添加到日志
    }
 
文档不对,这个问题我也问过,参见 http://www.tbquant.net/forum/1430.html#2652
我觉得你理解有误,30分钟运行时,每次会带动其他图层一起运行。则60分钟正好是2次
如果不是整数倍会有更多的触发
可是那个PDF里面说的是不运行。我是按照那个PDF里面来理解的,就是我上面那张PDF的截图