VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 227
声望: 0

需要在ctp断开的时候 通过邮件通知,如何操作

Member
avatar
加入于:
帖子: 716
声望: 62

在onFrontDisconnected中调用main_engine的send_email函数,接受两个字符串参数,一个是邮件标题,一个是邮件内容

Member
avatar
加入于:
帖子: 227
声望: 0

感谢大佬

Member
avatar
加入于:
帖子: 227
声望: 0

郭易燔 wrote:

在onFrontDisconnected中调用main_engine的send_email函数,接受两个字符串参数,一个是邮件标题,一个是邮件内容
提示错误
description

Member
avatar
加入于:
帖子: 716
声望: 62

gateway本身只使用到了事件引擎,所以找不到主引擎,如果需要使用到主引擎,需要手动将主引擎传入gateway。

首先将vnpy/trader/engine.py中MainEngine类中add_gateway函数下
gateway: BaseGateway = gateway_class(self.event_engine, gateway_name)改为
gateway: BaseGateway = gateway_class(self.event_engine,self, gateway_name)

然后将vnpy_ctp中__init__函数改为

    def __init__(self, event_engine: EventEngine, main_engine, gateway_name: str) -> None:
        """构造函数"""
        super().__init__(event_engine, gateway_name)

        self.main_engine = main_engine
        self.td_api: "CtpTdApi" = CtpTdApi(self)
        self.md_api: "CtpMdApi" = CtpMdApi(self)

接下来才能调用self.main_engine的send_email函数

Member
avatar
加入于:
帖子: 716
声望: 62

这两处改动时配套的,engine.py改完后所有其他的接口都需要改,否则会报参数数量不正确的错

Member
avatar
加入于:
帖子: 20
声望: 1

用event_engine就不用改参数了
https://www.vnpy.com/forum/topic/31087-ru-he-zai-xing-qing-fu-wu-qi-huo-jiao-yi-fu-wu-qi-duan-kai-lian-jie-shi-fa-you-jian-tong-zhi

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】