返回列表 发布新帖

如何取得miniqmt异步下单的成交信息?

796 1
发表于 2024-7-16 16:13:55 | 显示全部楼层 阅读模式
我在用逆回购(后附程序代码)测试miniqmt的异步下单以及回调callback函数。
异步下单后,发现 on_order_stock_async_response 回调callback是有返回的,但是 on_stock_trade 这个callback没有任何信息返回,即使是单子已经成交的情况下。
请问,miniqmt如何可以得到callback的成交信息?

终端界面信息返回:
20240716150557 nihuigou下单:async_seq(5)卖出逆回购:2060手
异步委托回调 20240716150557_131810.S


程序如下:

def nihuigou(xt_trader,acc,symbol="131810.SZ"):
    now_str = datetime.now().strftime('%Y%m%d%H%M%S')
    A.asset = xt_trader.query_stock_asset(acc)
    if A.asset.cash >1000:
        vol = int((A.asset.cash//1000)*10)
        msg = f"{now_str}_{symbol}_sell_{vol}"
        async_seq = xt_trader.order_stock_async(acc,symbol,xtconstant.STOCK_SELL,vol,xtconstant.LATEST_PRICE,9.99,strategy_name='nihuigou',order_remark=msg)
        print(now_str,f'nihuigou下单:async_seq({async_seq})卖出逆回购:{vol}手')
    else:
        print(now_str,"nihuigou下单:逆回购金额不足")
   
class MyXtQuantTraderCallback(XtQuantTraderCallback):
    def on_disconnected(self):
        print(datetime.datetime.now(),'连接断开回调')
    def on_stock_order(self, order):
        print(datetime.datetime.now(), '委托回调', order.order_remark)
    def on_stock_trade(self, trade):
        print(datetime.datetime.now(), '成交回调', trade.strategy_name, trade.order_remark)
        if trade.strategy_name == g.strategy_Name and trade.order_remark[26:29] == 'sel':
            str ='\n{},{},,{},-1,{},{},{},-0.1'.format(trade.traded_time,trade.strategy_name,trade.stock_code,trade.traded_price,trade.traded_volume,-1 * trade.traded_price * trade.traded_volume * 0.00005)
            print(str)
    def on_order_stock_async_response(self, response):
        print(f"异步委托回调 {response.order_remark}")


评论1

Willows
发表于 2024-7-19 18:18:19 | 显示全部楼层
成交回调要订阅账号才有,看 xttrader.XtQuantTrader.subscribe

回复

您需要登录后才可以回帖 登录 | 立即注册

客服专线

400-080-8112

用思考的速度交易,用真诚的态度合作,我们是认真的!
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2025 迅投QMT社区 版权所有 All Rights Reserved. 蜀ICP备19002686号-2
关灯 快速发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表