VeighNa量化社区
你的开源社区量化交易平台 | vn.py | vnpy
Member
加入于:
帖子: 2
声望: 0

description
如图所示,正常情况下执行过程中的输出应该截止到第三行: 0%| | 0/616 [00:00<?, ?it/s]
但是在 linux + vnpy 3.9.3 环境中多出来很多信息(第四行以后),似乎在执行每个条件的时候都把数据加载过程输出了一遍;已知 windows + vnpy3.9.1 是没问题的,不知道是系统问题还是 vnpy 版本导致的?

Member
加入于:
帖子: 2
声望: 0

研究了好几个小时,提供一个临时的,不优美的方案:
修改 vnpy_ctastrategy/backtesting.py 的 output 函数:

def output(self, msg) -> None:
        """
        Output message of backtesting engine.
        """
        import multiprocessing
        if multiprocessing.current_process().name == "MainProcess":
            print(f"{datetime.now()}\t{msg}")

思路是增加一个条件判断,如果不是主进程就不要打印信息;
这样以后参数优化功能基本可用了,否则大堆的输出基本不可用。
期待大神提供更好的方案;

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

沪公网安备 31011502017034号

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