全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
撤单的几个小问题咨询
kuuhot 分享到
2022-09-14 17:14

1.案例撤单都在ontimer操作,是有什么特殊含义吗?我看都是只执行一次 为什么不用其它函数呢?

2.A_DeleteAccountOrder(Symbol, 0)这个函数一行解决了账户在该合约的所有撤单,为什么还要用A_DeleteOrderEx 这个去获取未成交的单遍历一遍再撤单呢?

3.高频策略,假设有挂单成交了,OnOrder和OnPosition谁先执行呢?假设在挂的止盈单部分成交了,现在要撤单重新挂(在OnOrder操作),那么挂单数量是用ord.volume-ord.fillVolume应该是有问题的吧,因为fillVolume取的是最后一次成交数量?用myPos.shortCurrentVolume或者A_SellPosition()会不会有问题?

kyover

1 没有什么特殊含义,因为这个例子展示的就是发单后固定时间后进行撤单,所以用定时器处理,完全是业务逻辑需要

2 有些策略需要精确的撤某一笔单子而不是把所有该品种的委托都撤掉。

3挂单成交应该是onorder先执行。止盈单部分成交驱动onorder域运行的时候,fillvolume就是部分成交的数量,用原数量减去这个部分成交数量就可以得到继续挂单数量

2022-09-14 22:44
kuuhot
@kyover

如果部分成交分了几次呢?实际成交过程中有瞬间分几次成交的情况,比如一共挂单5手,第一次成交1手,第二次成交2手,那么在第2次的OnOrder里,fillVolume是3还是2?

2022-09-15 08:48
kuuhot

经实践证明:

OnPosition更新更及时,挂单使用myPos.shortCurrentVolume或者A_SellPosition()会更好。

部分成交分了几次,比如一共挂单5手,第一次成交1手,第二次成交2手,那么在第2次的OnOrder里,fillVolume是3

2022-09-16 16:05
kyover
@kuuhot

实践很好,可以先实践再咨询

2022-09-16 16:10
您未登录,请先 登录注册 后发表评论
顶部