全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
教学视频里收盘平仓的逻辑有点问题
tiim730 分享到
2022-04-25 17:21

看视频里面老师说 用SetTriggerBarClose 来输入收盘的时间,然后通过OnBarClose 事件来写收盘的逻辑,问题是OnBarClose事件每个bar的结束都会触发,如何做到只在收盘触发一次呢?

wangkaiming

SetTriggerBarClose 可以 用于提前触发

你的情况需要判断当前K线的时间就可以,比如收盘的K的时间

2022-04-26 14:26
tiim730

最后写成这样的逻辑了,感觉很丑

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));
                
            
            
                
        }
         
    }

2022-04-26 23:06
TB_Futures
@tiim730

三个变量多余了吧,这样写呢?

If(FracPart(SystemDateTime())>0.225940)

2022-04-27 00:35
tiim730
@TB_Futures

我发现用SystemDateTime 回测的时候触发不了的,衰~

2022-04-27 08:03
kyover
@tiim730

回测历史自然要用历史时间,怎么会用当下的系统时间

2022-04-27 08:06
tiim730
@kyover

老师,哪个函数是历史时间啊,我就是看你视频学的frown

2022-04-28 23:03
您未登录,请先 登录注册 后发表评论
顶部