全部 TBQuant功能 TBL语言 TB开户 问答专区 其他
在OnTimer里指定时间重启策略单元不成功
2021-04-08 21:30

OnTimer(Integer id,Integer intervalMillsecs)
    {
        if(id == timerID)
        {
            if (time>=0.2035 && time<=0.2036)    ReStart();
        }
    }

请问,以上代码为什么无法在指定时间内重新运行策略单元?

上一篇: 移仓换月
bert718

Time获取的bar的时间,检查一下什么周期,是否落在你设置的时间区间?

2021-04-08 21:48
closedlszz
@bert718

明白了,是这个原因,谢谢

2021-04-08 21:53
bert718

有加载合约吗?什么合约?

2021-04-08 21:39
closedlszz
@bert718

就加载一个ag888

2021-04-08 21:46
bert718

贴完整图方向吧,这样猜不方便

2021-04-08 21:34
closedlszz
@bert718

Params
    //此处添加参数
    Numeric millsecs(1000);
Vars
    //此处添加变量
    Numeric avg;
    Global Integer timerId;

Defs


Events
    //初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作
    OnInit()
    {
        timerId=createTimer(millsecs);
    }

    
    //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
    OnBar(ArrayRef<Integer> indexs)
    {

    }

    
    //定时器更新事件函数,参数id表示定时器的编号,millsecs表示定时间的间隔毫秒值
    OnTimer(Integer id,Integer intervalMillsecs)
    {
        if(id == timerID)
        {
            if (time>=0.2034 && time<=0.2036)    ReStart();            
        }
    }

2021-04-08 21:38
bert718

有没有createtimer?

2021-04-08 21:32
closedlszz
@bert718

当然有啊

2021-04-08 21:33
您未登录,请先 登录注册 后发表评论
顶部