使用A_SellShort和A_BuyToCover后开平互转问题
2024-05-10 20:31

【现象概述】

最近一直在写订单流策略,今天调试的时候,发现使用【A_SellShort】和【A_BuyToCover】的【空头下单操作】后,在【OnOrder事件域】通过打印ord结构体的成员combOffset,发现TBQ会发生自动【开平互转】的问题,将所有【空头操作】转成【反向的多头操作】,但是在【账户透视】的【委托成交明细】却是可以正常显示【空头操作】。同时观察【多头下单操作】使用【A_Buy】和【A_Sell】却不会发生【开平互转】。

【账户透视的委托成交明细】

data-href=

【空头下单部分操作的代码】

data-href=

【OnOrder事件域中打印ord结构体详情】

data-href=

data-href=

data-href=

【TBQ系统设置→交易设置→风险与规则→交易规则:开平互转】

虽然我的TBQ默认设置启用了开平互转,但是上面截图模拟盘运行品种是【RM409.CZCE】,不是中金所的品种。

data-href=

【问题】

  1. 上述空头操作出现的开平互转现象,是否是因为使用了【A_SellShort】和【A_BuyToCover】导致的?如果改用【A_SendOrderEx】是否会解决?
  2. 为何【账户透视】显示的【开平】与【A_SellShort】和【A_BuyToCover】的下单行为保持一致
  3. TBQ内部机制又是如何识别具体的某个持仓头寸到底是【多头持仓】还是【空头持仓】?
  4. 因为我的策略也需要识别当前持仓是属于【多头持仓】还是【空头持仓】,并做出不同的操作,原先是通过【OnOrder事件域】的【ord结构体】的2个成员【ord.side】和【ord.combOffset】取值组合来判断是【多头持仓】还是【空头持仓】,但是现在【空头持仓】全部开平互转为【多头持仓】了,请问还有那些可以正确判定的方法?

【其他参考】

https://www.tbquant.net/forumDetail?cur=tbquan&id=2435&cid=undefined

https://www.bilibili.com/read/cv17662024/?spm_id_from=333.999.0.0

https://kdocs.cn/l/cv25RhZzEz4V


评论区
Phoenix129

王老师,我就特别想知道,今天是周六白天,你是用了什么魔法,可以驱动OnOrder事件域,打印出信息的?免费吗?真的是羡慕啊,你的TBQuant可以同时显示超过4个以上的图层K线,现在连周六、周日7*24小时都能驱动订单流事件域。

2024-05-11 18:38
Phoenix129

谢谢,王老师,排除这个问题的原因后,看来我的程序,是其他地方有错误。

2024-05-11 16:43
Phoenix129

晕倒,原来是这个问题啊!年纪大了,眼睛看花了!

2024-05-11 16:21
Phoenix129

https://kdocs.cn/l/cv25RhZzEz4V

这里有图有真相

2024-05-11 10:23
顶部