迅投QMT社区 门户 查看主题

【python分享6】如何使用order_callback等回调函数

发布者: *******0858 | 发布时间: 2023-12-21 18:15| 查看数: 9021| 评论数: 7|帖子模式

order_callback等回调函数是策略发起交易动作时的反馈,比如用passorder发起一笔委托,那么对应这笔委托的状态(是否报出去,是否成交等)会推送到order_callback里,如果委托成交了,还会收到deal_callback,此外还有orderError_callback、account_callback等,详见 http://dict.thinktrader.net/inne ... tion.html?id=cumnXP

如果想要使这些函数生效,那么需要订阅下资金账号,代码如下:
  1. #encoding:gbk
  2. def init(ContextInfo):
  3.     account = '123456'
  4.     ContextInfo.set_account(account)
  5.     passorder(23,1101, account, '000001.SZ',5,0,200,'',2,'note1',ContextInfo)



  6. def order_callback(ContextInfo, orderInfo):
  7.     print(f"股票代码:{orderInfo.m_strInstrumentID} 市场代码:{orderInfo.m_strExchangeID} 委托号:{orderInfo.m_strOrderSysID}, 成交数量:{orderInfo.m_nVolumeTraded}, 投资备注:{orderInfo.m_strRemark}")


复制代码
实盘运行时输出如下:
image.png

最新评论

Liwu发表于  2023-12-22 17:35:38
🙏
*******0631发表于  2024-3-1 09:28:01
为啥我的回调里只出现错误信息,委托和成交情况一律没有
rzp发表于  2024-3-1 13:15:38
*******0631 发表于 2024-3-1 09:28
为啥我的回调里只出现错误信息,委托和成交情况一律没有

错误信息发一下看看
*******2671发表于  2024-3-2 16:56:18
这个回调函数感觉有点不规律,我几个程序,有的就是回调正常,有的就是下单后毫无反应def order_callback(C, orderInfo):
    print(f"代码:{orderInfo.m_strInstrumentID} 市场代码:{orderInfo.m_strExchangeID} 委托号:{orderInfo.m_strOrderSysID}, 成交数量:{orderInfo.m_nVolumeTraded}, 投资备注:{orderInfo.m_strRemark},成交价格{orderInfo.m_dTradedPrice}")
rzp发表于  2024-3-2 20:45:50
*******2671 发表于 2024-3-2 16:56
这个回调函数感觉有点不规律,我几个程序,有的就是回调正常,有的就是下单后毫无反应def order_callback(C ...

下单没反应估计是没有在init函数里调用ContextInfo.set_account 订阅回调
*******2671发表于  2024-3-8 09:30:53
rzp 发表于 2024-3-2 20:45
下单没反应估计是没有在init函数里调用ContextInfo.set_account 订阅回调

真的是,感谢,复制代码竟然少复制了一行
奥林匹克发表于  3 小时前
请问一下:我用电脑和手机的股票软件进行股票买卖,下单后,为什么order_callback收不到委托回调信息?deal_callback也收不到成交回调信息。
客服专线

400-080-8112

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