返回列表 发布新帖

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

3186 6
发表于 2023-12-21 18:15:41 | 显示全部楼层 阅读模式
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

评论6

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 订阅回调

真的是,感谢,复制代码竟然少复制了一行

回复

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

客服专线

400-080-8112

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