看视频里面老师说 用SetTriggerBarClose 来输入收盘的时间,然后通过OnBarClose 事件来写收盘的逻辑,问题是OnBarClose事件每个bar的结束都会触发,如何做到只在收盘触发一次呢?
最后写成这样的逻辑了,感觉很丑
OnBarClose(ArrayRef<Integer> indexs)
{
Numeric _hour;
Numeric _minute;
Numeric _second;
_hour=HourFromDateTime(SystemDateTime);
_minute=MinuteFromDateTime(SystemDateTime);
_second=SecondFromDateTime(SystemDateTime);
if( _hour==22 && _minute== 59 &&_second>40 )
{
Sell(100,Max(Open,High));
}
}
三个变量多余了吧,这样写呢?
If(FracPart(SystemDateTime())>0.225940)
我发现用SystemDateTime 回测的时候触发不了的,衰~
回测历史自然要用历史时间,怎么会用当下的系统时间
老师,哪个函数是历史时间啊,我就是看你视频学的
SetTriggerBarClose 可以 用于提前触发
你的情况需要判断当前K线的时间就可以,比如收盘的K的时间