代码中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的截图