3.43K 浏览
0

我是用海通期货账户登录,为什么不能正常下单呢?

我可以用api.get_account(),账户信息是正确的。

api = TqApi(TqAccount(“H海通期货”, “710203XX”, “XXX”))

> order = api.insert_order(symbol=”DCE.m2005″, direction=”SELL”, offset=”OPEN”
, limit_price=3000,volume=2)
>>> order
<tqsdk.objs.Order object at 0x0A013050>, D({‘order_id’: ‘2bf897f7e7063d5ffe58cec
acc0af160’, ‘exchange_order_id’: ”, ‘exchange_id’: ‘DCE’, ‘instrument_id’: ‘m20
05’, ‘direction’: ‘SELL’, ‘offset’: ‘OPEN’, ‘volume_orign’: 2, ‘volume_left’: 2,
‘limit_price’: 3000.0, ‘price_type’: ‘LIMIT’, ‘volume_condition’: ‘ANY’, ‘time_
condition’: ‘GFD’, ‘insert_date_time’: 0, ‘last_msg’: ”, ‘status’: ‘ALIVE’})

‘order_id’也和用快期下的查到的不一样,快期下单,api.get_order()查到的是这样戴

D({‘order_id’: ‘SERVER.4.cd374e49.44’, ‘exchange_order_id’: ”, ‘exchange_id’:
‘DCE’, ‘instrument_id’: ‘i2005-C-680’, ‘direction’: ‘SELL’, ‘offset’: ‘OPEN’, ‘
volume_orign’: 5, ‘volume_left’: 5, ‘limit_price’: 0.3, ‘price_type’: ‘LIMIT’, ‘
volume_condition’: ‘ANY’, ‘time_condition’: ‘GFD’, ‘insert_date_time’: 158622119
7000000000, ‘last_msg’: ‘已撤单报单被拒绝DCE:该品种当前是开竞撮合!’, ‘status’: ‘
FINISHED’, ‘seqno’: 7, ‘user_id’: ‘71020360’})

求指教

谢谢!

west 已回答的问题 2020年4月7日
0

1. insert_order()函数有注意事项: “指令将在下次调用 <span class="pre">wait_update()</span> 时发出”。 你调用了insert_order()之后需要调用wait_update()来发送指令.否则这个下单指令就没有发出去。

见文档:https://doc.shinnytech.com/tqsdk/latest/reference/tqsdk.api.html#tqsdk.api.TqApi.insert_order

2.你直接get_order()是返回了所有order,不是特定的那一个

文档中:

“当指定了order_id时, 返回一个委托单对象引用. 其内容将在 <span class="pre">wait_update()</span> 时更新.

不填order_id参数调用本函数, 将返回包含用户所有委托单的一个tqsdk.objs.Entity对象引用, 使用方法与dict一致, 其中每个元素的key为委托单号, value为 <span class="pre">Order </span>

https://doc.shinnytech.com/tqsdk/latest/reference/tqsdk.api.html#tqsdk.api.TqApi.get_order

建议先多看看文档函数说明哈

发表新评论 2020年4月8日

谢谢,可以下单了