CurrentBar再次提问
//------------------------------------------------------------------------ // 简称: ZS40 // 名称: CurrentBar // 类别: 公式应用 // 类型: 用户应用 // 输出: Void //------------------------------------------------------------------------ Vars Global Array<Integer> OrderId;//单号 Defs//自定义函数 Integer LogFile(StringRef str)//日志函数 { IF (StrategyMode()==1) FileAppend("D:\\"+FormulaName()+"\\"+DATA2.Symbol()+".txt","["+Text(SystemDateTime())+"] "+ str); Return 0; } Events OnInit()//策略执行前的初始化事件,只运行一次。/可以订阅数据,数据准备等操作。 { SubscribeBar(Data0.Symbol,"15M",Data0.BeginDateTime);//图层1 SubscribeBar(relativesymbol,"1M",Data0.BeginDateTime);//图层2 } OnReady() { LogFile("OnReady//"+SymbolName+"/时间="+TEXT(SystemDateTime())); PrintClear; } OnBarOpen(ArrayRef<Integer> indexs) { If(ArrayFind(indexs,0)) { LogFile("日/BAR0="+TEXT(DATA0.CurrentBar())+"/时间"+TEXT(DATA0.DATE)+StrategyModeName()); } If(ArrayFind(indexs,1)) { LogFile("15M/BAR0="+TEXT(DATA1.CurrentBar())+"/时间"+TEXT(DATA1.DATE+DATA1.Time)+StrategyModeName()); } If(ArrayFind(indexs,2)) { LogFile("1M/BAR0="+TEXT(DATA2.CurrentBar())+"/时间"+TEXT(DATA2.DATE+DATA2.Time)+StrategyModeName()); } }//OnBarOpen OnBar(ArrayRef<Integer> indexs) { Range[0:2] { commentary( "BAR=" + TEXT(CurrentBar())); } IF (1==2) A_Buy(symbol,1,Q_AskPrice,OrderId );//不发单 IF (1==2) A_Sell(symbol,1,Q_BidPrice,OrderId );//不发单 } 上面是测试代码,下面是测试日志,再下面是策略K线打开的截图日志中图层1(15M)的起点是20210823.09,此时BAR索引为0截图中图层1(15M)的起点是20210707.00,此时BAR索引为0上述两个索引不应该保持一致吗?是什么原因导致这个差异化呢?收盘对比日志与K线图时发现,最后1根BAR(20250819.150000)的索引,日志与截图不一样