wtpy
wtpy copied to clipboard
[bug] 参数优化器中,未成功提交配置文件。
在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()添加个参数,强制提交配置。如果这个方案可行,那么我来改一下