Open CedrusZhao opened 3 months ago
在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() 函数。但是只有第一被调用时会成功提交配置。后续再调用时,并不会真的会提交配置。这将造成错误。
我觉的可以为engine.commitBTConfig()添加个参数,强制提交配置。如果这个方案可行,那么我来改一下
在WtCtaOptimizer.py这个文件中,start_task_group函数如下部分存在问题:
在这个for循环中,会多次调用 engine.commitBTConfig() 函数。但是只有第一被调用时会成功提交配置。后续再调用时,并不会真的会提交配置。这将造成错误。