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

2021-10-21 21:07:53,080 INFO: 行情服务器连接成功
INFO:VN Trader:行情服务器连接成功
2021-10-21 21:07:53,085 INFO: 行情服务器登录成功
2021-10-21 21:07:53,085 INFO: 行情服务器登录成功
INFO:VN Trader:行情服务器登录成功
2021-10-21 21:07:53,225 INFO: 交易服务器授权验证成功
2021-10-21 21:07:53,225 INFO: 交易服务器授权验证成功
INFO:VN Trader:交易服务器授权验证成功
2021-10-21 21:07:53,231 INFO: 交易服务器登录成功
2021-10-21 21:07:53,231 INFO: 交易服务器登录成功
INFO:VN Trader:交易服务器登录成功
2021-10-21 21:07:53,294 INFO: 结算信息确认成功
2021-10-21 21:07:53,294 INFO: 结算信息确认成功
INFO:VN Trader:结算信息确认成功

Administrator
avatar
加入于:
帖子: 4500
声望: 320

日志处理函数重复注册了吧,导致一条输出多次了

Member
avatar
加入于:
帖子: 61
声望: 2

用Python的交易员 wrote:

日志处理函数重复注册了吧,导致一条输出多次了
def run_child(self):
"""
Running in the child process.
"""
qapp = create_qapp()

    SETTINGS["log.file"] = True

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    main_engine.add_gateway(CtpGateway)
    cta_engine = main_engine.add_app(CtaStrategyApp)
    main_engine.write_log("主引擎创建成功")

    log_engine = main_engine.get_engine("log")
    event_engine.register(EVENT_CTA_LOG, log_engine.process_log_event)
    main_engine.write_log("注册日志事件监听")

    main_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()

    main_engine.connect(setting_ctp, "CTP")
    main_engine.write_log("连接CTP接口")

    sleep(10)

没看出哪句重复了哈

Administrator
avatar
加入于:
帖子: 4500
声望: 320

run_child是用multiprocessing在子进程中启动的吗?

Member
avatar
加入于:
帖子: 61
声望: 2

用Python的交易员 wrote:

run_child是用multiprocessing在子进程中启动的吗?
是的

if trading and child_process is None:
print("启动子进程")
child_process = multiprocessing.Process(target=self.run_child)
child_process.start()
print("子进程启动成功")

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

event_engine.register(EVENT_CTA_LOG, log_engine.process_log_event)
这个重复了。

trader/engine.py 的 MainEngine 类在初始化的时候,
就 self.add_engine(LogEngine) 注册过一次 日志引擎。

所以,直接把 no_ui run.py 中的那句代码删掉就好。

Member
avatar
加入于:
帖子: 61
声望: 2

longgerchen wrote:

event_engine.register(EVENT_CTA_LOG, log_engine.process_log_event)
这个重复了。

trader/engine.py 的 MainEngine 类在初始化的时候,
就 self.add_engine(LogEngine) 注册过一次 日志引擎。

所以,直接把 no_ui run.py 中的那句代码删掉就好。
感谢兄弟

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

沪公网安备 31011502017034号

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