CurrentBar输出问题

下面代码,两个输出结果居然不一样,可能是什么原因呢?

{

Print("BAR="+TEXT(CurrentBar));

LogFile("BAR="+TEXT(CurrentBar));

}

尽管是多图层多周期,在同一个花括号下,应该是一样的啊。

先请老师做一个大概的判断,实在不行我再编测试代码请教老师。

知道CurrentBar后,取值问题
CurrentBar再次提问
关于CurrentBar实时取值
输出格式问题
画图输出问题
输出问题
关于输出K线的问题
关于均线输出的问题
plot的布尔输出显示问题
输出

一个典型的展示型问题:

用户认为贴一部分代码就说明问题了,实际上什么都没有说明

发了一个不可能有问题的代码

需要去猜可能出现问题的逻辑

我也想知道为什么

俺也是

估计数据没对齐吧

之前有个帖子

我把整个流程给他梳理过

不知道他有没有仔细看看

其实就按贴出来的两行代码,我是不知道楼主是怎么能判断出来两边执行出来的结果不一样的

晕😭好在不影响交易,再想代码方案(只是想让过程监控更清晰)

如果这两行代码

没有出问题的可能


应该是数据对齐没处理

且代码并非如此


经过验证,问题原因是:日志会登记两次(图表模式、策略模式)但是图表模式和策略模式下的CurrentBar取数不同。

不同模式下的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,"5M",Data0.BeginDateTime);//图层1
		SubscribeBar(Data0.symbol,"1M",Data0.BeginDateTime);//图层2
	} 	
	OnReady()
	{
		LogFile("OnReady//"+SymbolName+"/时间="+TEXT(SystemDateTime()));
		PrintClear;
	}
	
	OnBarOpen(ArrayRef<Integer> indexs)
	{
      Range[2:2]
	  {	
	        Bool ret = IsStartBar();
            if(ret)
            {
            	PlotBool("创建本单元时间点",ret,L);
            }
		//BAR0=CurrentBar(); 
		commentary( "BAR=" + TEXT(CurrentBar()));
		Print("BAR=" + TEXT(CurrentBar())+"/时间"+TEXT(SystemDateTime)+StrategyModeName());
		LogFile("1M/BAR0="+TEXT(CurrentBar())+"/时间"+TEXT(SystemDateTime)+StrategyModeName());
		  }
	}//OnBarOpen
	
	OnBar(ArrayRef<Integer> indexs)
	{
       Range[2:2]
	   {
	   	  IF (H>DATA1.H[1] AND A_BuyPosition<1)
    	   	  A_Buy(symbol,1,Q_AskPrice,OrderId );
	   	  IF (L<DATA1.L[1] AND A_BuyPosition>0)
	   	      A_Sell(symbol,1,Q_BidPrice,OrderId );
	   	   
	   }
}		


难道又是打开k线的问题么....你如果调试策略那就不要用策略单元直接用k线图不好吗...

我要把策略日志和K线图对照啊,我要知道在哪根K线下单的

所以不是说了让你直接用k线图么?不要再用策略单元然后打开k线图不就没这个问题了么

好的,我现试试