如何撤掉异地开仓的单子

网友问题:

我只有平仓没有开仓,因为我写的是平仓策略,异地开仓可能有好多个品种,每个品种都只开一手,同时我挂了平仓单等待成交,那么平仓程序满足止盈止损了,要先撤掉异地的所挂的某个品种平仓单,然后再将其平掉,天勤的案例都只有通过insert_order函数开仓,返回一个order,然后针对这个品种进行撤单,但是我并没有程序开仓过程,那么我该怎么来写撤单呢?

我的程序里面使用这两句撤单 Pingcangorder=api.get_order()
api.cancel_order(Pingcangorder)感觉不对,这样就会撤掉所有品种的平仓单子了,我只希望撤掉满足条件的品种的平仓单即可。

回答:

你在其它软件上挂了平仓的单想止赢的,结果反方向走 了。一定要止损了。就先平了撤了原来的哪个挂单就去平就行了。Pingcangorder=api.get_order()这是一个全部订单的对像吧。你得再定位到哪个单号才行。

要用到get_order函数,函数说明如下:

也有该函数的例子:

具体你想对上哪个品种,按照例子遍历,遍历了看order信息,根据order信息里的值去联系。

总结:

1.天勤的get_order可以理解为是去像柜台请求的,那么不论是不是天勤挂单,其实都是可以通过get_order获取到,获得的是一个以本交易日的order 组成的字典对象;

2.cancel_order需要指定具体的委托单号,委托单号可以在详细的order信息里面查到;

3.其实我们有tqkq,simnow这些模拟,自己做一下测试之后再问人可以加深理解;

4.另外你这串代码里面还有一些其他的坑比如targetpostask和cancel_order这些对同一个合约不要混用,可能会造成一些混乱效果。



   微信关注公众号:



   点击获取QQ、微信群聊