不同周期尾盘清仓代码运行结果不同
If(Time>=0.1455 && Time<0.15)
{ 
If(MarketPosition<>0)
 { 
  Sell(0,0); // 市价平多
  BuyToCover(0,0); // 市价平空 
  Commentary("尾盘清仓,目前仓位:" + Text(MarketPosition)); 
  }            
}

5分钟周期运行策略,尾盘清仓代码可以正常执行;策略周期换成30分钟就不执行了,也无警告消息。请问为什么?


尾盘清仓问题
日内双周期策略不同周期组合、不同品种回测
MarketPosition 相同的代码不同的品种 运行结果不一样
尾盘清仓账号扔有持仓
请教!!!方式不同结果不同
在新版TBQ中尾盘清仓怎么写?
同一个模型在不同机子上运行结果迥异,如何解决?
V5 V6相同代码,不同返回结果
不同周期同品种跨bar数组调用
跨周期用同一指标加载到不同周期,参数需要不同,这个该怎么操作?

time默认返回的是bar开盘时间。

如果是30分钟,那么靠近收盘的那几根bar,大概是0.1400,0.1430

哪一根都比0.1455小

谢谢老师,onbar()的说明文档是:对于历史BAR是每根BAR只运行一次,对于实盘行情正在形成的BAR则每接收到一个新的TICK都会运行一次。

应该能get到0.1455吧?

不能

把 bar时间理解为bar的唯一标签,是离散的,是在k线横坐标看得到的数值

不是连续的,历史的不是 ,实时的也不是

连续的是currenttime 这种

我觉得我上面其实说的很清楚了。

我再说一遍

time默认返回的是bar开盘时间。

请问30分钟k线,哪一根bar的开盘时间可以比14点55分大?请你列举出来


感谢老师指点!我是新手,对bar的运行机制了解的不够。参考您的另一篇帖子用OnBarClose解决了,非常感谢!

感谢老师点评!我是新手,对bar的运行机制了解的不够。就是说每根bar的每个tick接收一次行情数据,但结构体内的程序只在开始的时候运行一次?

你也不新了,我对你这个id早就有印象了,最少半年前我就应该给你发过零基础课程了吧....

Time是bar时间

你可以print一下 30分钟周期最后一个bar 可能是1445 1430 或者其他,看你怎么切割k线的

但不太可能大于0.1455


谢谢!追问同上

就是说每根bar的每个tick接收一次行情数据,但结构体内的程序只在开始的时候运行一次?

【回复】:程序也是每个tick运行,问题不是因为没有每个Tick运行,而是因为判断的时间是BAR的开始时间,30分钟,最后一根K线的开始时间是0.1430,永远不可能是0.1455