TB策略单元重启问题
2023-09-22 14:59
老师好,最近策略单元重启问题测试了很多,一直没有解决问题,发现以下问题:
活跃合约:每秒都有tick反馈的合约,可以直接重启,代码如下:
If(CurrentTime==0.210000 And needRestart)
{
needRestart=False;
ReStart();
}
不活跃合约就出现了以下问题,10-20秒才有一个tick,出现新tick才更新时间,上面的程序就失效了,换下面这个程序同样不能实现不活跃合约单元重启问题:
if(TimeDiff(CurrentTime, 0.141000)==60)
{
ReStart();
}
又想了下面的办法,让这个时间判定变成时间段判定,这样一段时间内保证出现Tick就可以重启,单有新的问题,单元会重启到时间段结束,容易软件造成死机:
If(ABS(CurrentTime-0.231100)<0.000020 And needRestart)
{
needRestart=False;
ReStart();
}
请问老师,最后这个时间段重启的程序,有办法让他每天只重启一次嘛?或者重启一次后20个小时内不再触发这个判定重启的函数
老师,createtimer里面的systemdatetime要怎么写,怎么表达24小时,systemdatetime那里写成0.210000可不可以,还是要具体写日期?