wtpy icon indicating copy to clipboard operation
wtpy copied to clipboard

[bug] 参数优化器中,未成功提交配置文件。

Open CedrusZhao opened this issue 1 year ago • 1 comments

WtCtaOptimizer.py这个文件中,start_task_group函数如下部分存在问题:

    for param in params:
        cnt += 1
        print(f"{gpName} 正在回测{cnt}/{total}")
        name = param["name"]
        
        engine.configBacktest(param["start_time"], param["end_time"])
        time_range = (param["start_time"], param["end_time"])
        # 去掉多余的参数
        param.pop("start_time")
        param.pop("end_time")
        if cpp_stra_module is not None:
            param.pop("name")
            engine.setExternalCtaStrategy(name, cpp_stra_module, cpp_stra_type, param)
        else:
            straInfo = strategy_type(**param)
            engine.set_cta_strategy(straInfo)
        engine.commitBTConfig()
        engine.run_backtest()
        ayalyze_result(name, time_range, param, capital, rf, period)
        counter.value += 1

在这个for循环中,会多次调用 engine.commitBTConfig() 函数。但是只有第一被调用时会成功提交配置。后续再调用时,并不会真的会提交配置。这将造成错误。

CedrusZhao avatar Mar 23 '24 13:03 CedrusZhao

我觉的可以为engine.commitBTConfig()添加个参数,强制提交配置。如果这个方案可行,那么我来改一下

CedrusZhao avatar Mar 26 '24 04:03 CedrusZhao