全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
请问这个写法有什么问题?量化看盘显示状态变量big_con 变成1了,但是没有发单。
2021-04-26 16:17

If(big_con == 0 and BarStatus == 2)
        {                    
            
            If(条件略)
            {
                A_SendOrderEx(Symbol,Enum_Buy,Enum_Entry,1,my_tick.bidask1.askP,ids);
                first_buy = ids[0];
                init_price = my_tick.last;                
                big_con = 1;                        
            }

bogey2020

不知道社区还有人答疑么,量化看盘输出了 big_con变成1,init_price也有了,但是没发单,是发单的写法有问题么?

2021-04-27 10:14
bogey2020

@wangkaiming  老师在么?这个是根据你讲的高频策略写的,测了好几次,也调试了很久,a_sendorder都发不了单,不知什么问题,可否抽空帮忙看一下...

2021-04-27 15:54
tblaocai

A函数发单条件一定要判断下账户是否关联上了,否则发单条件满足了,A函数因为账户没关联好,没发单,而用来控制发单的全局变量却改变了,导致后面再也不会发单。

2021-04-27 17:41
bogey2020
@tblaocai

账户没关联上应该无法启动自动交易的吧?

2021-04-27 20:49
tblaocai
@bogey2020

TBQ是支持账户未登录状态下关联并开启自动交易的。所以,在绿色笑脸状态下,其实是有两种状态的。公式里要避免的就是,在账户未登录的状态下,就符合了A函数发单的条件,这时是不可能发单的,但条件执行时,您定义的全局变量big_con还是会变成1的。

2021-04-28 08:50
wangkaiming

是否有别的地方可以big_con=1,

可以看下对应的ASENDORDER是否成功

2021-04-28 10:17
gtja83605366

我也遇到了这个同样的问题,无法解决,我认为这个是TB的一个BUG

2021-05-31 17:15
tblaocai
@gtja83605366

您可以这么写,试试

if(A_SendOrderEx(Symbol,Enum_Buy,Enum_Entry,1,my_tick.bidask1.askP,ids))

{
                first_buy = ids[0];
                init_price = my_tick.last;                
                big_con = 1;                

}

2021-05-31 23:07
hxx_future

请问你怎么判断账号是否已经登录了?

2021-11-30 17:00
您未登录,请先 登录注册 后发表评论
顶部