看交流区以往的帖子OnBarClose是支持回溯的,在5分钟周期上运行如下代码:
OnInit()
{
timePoint = [0.145958];
SetTriggerBarClose(timePoint);
}
OnBar(ArrayRef<Integer> indexs)
{
// 开仓代码
.....
}
OnBarClose(ArrayRef<Integer> indexs)
{
If(MarketPosition == 1)
{
// 平仓代码
}
If(MarketPosition == -1)
{
// 平仓代码
}
}
5分钟周期回测时发现每根K线都有执行OnBarClose,而不是14:59:58这个5分钟Bar执行OnBarClose,具体要如何修改,谢谢
明白了,核心点有3个:
1、在OnbarClose回溯时,使用Time对平仓K线进行定位;
2、在OnbarClose用于实盘时,在OnReady()通过函数SetTriggerBarClose(timePoint)设置实盘平仓时间点;
3、为了保证二者结果一致,timePoint要晚于Time,且周期越小越精准
感谢@kyover!
建议先看一下事件驱动域学习一下这个机制概念
http://www.tbquant.net/train/195.html
这个视频专门介绍行情驱动域