terminate called after throwing an instance of 'pybind11::error_already_set'
what(): UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa8 in position 8: invalid start byte
terminate called after throwing an instance of 'pybind11::error_already_set'
what(): UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa8 in position 8: invalid start byte
文件的编码格式不是utf-8的,但是使用utf-8编码格式去读取出的问题。只有在策略初始化时报错的话应该是策略的缓存文件。看一下是不是策略中有读取文件的操作,如果没有的话试试把用户名目录下.vntrader下cta开头的文件全部删掉重启试试。
.vntrader下的文件全部删掉也不行,但是回测执行又是正常的,init_strategy也提示初始化完成后接着就报错。sqlite数据库是ansi编码的,难道跟数据库文件有关?
请问你用的哪个接口?
`SETTINGS["log.file"] = True
event_engine = EventEngine()
main_engine = MainEngine(event_engine)
main_engine.add_gateway(XtpGateway)
# main_engine.add_gateway(CtpGateway)
main_engine.add_app(PortfolioStrategyApp)
# 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)
event_engine.register(EVENT_PORTFOLIO_LOG, log_engine.process_log_event)
main_engine.write_log("注册日志事件监听")
main_engine.connect(xtp_setting, "XTP")
main_engine.write_log("连接XTP接口")
sleep(10)
# 创建CTA策略引擎
cta_engine = StrategyEngine(main_engine, event_engine)
# 初始化CTA策略引擎, 会依次调用init_rqdata(), load_strategy_class()等函数
cta_engine.init_engine()
strategy_setting = {
"boll_window": 20,
"boll_dev": 2,
}
if strategy_name not in cta_engine.strategies:
main_engine.write_log(f"创建{strategy_name}策略")
cta_engine.add_strategy(class_name, strategy_name, vt_symbol, strategy_setting)
else:
cta_engine.update_strategy_setting(strategy_name, strategy_setting)
# 初始化刚创建的策略
cta_engine.init_strategy(strategy_name)
# 留有足够的时间来进行策略初始化
sleep(30)
# 启动刚创建的策略
cta_engine.start_strategy(strategy_name)`
目前跟踪到报错的位置在订阅行情数据这里 self.subscribeMarketData(req.symbol, 1, xtp_exchange)
但是xtp是登录成功的
连接XTP接口
2022-02-08 12:34:47,625 INFO: 主引擎创建成功
2022-02-08 12:34:47,625 INFO: 注册日志事件监听
2022-02-08 12:34:47,768 INFO: 行情服务器登录成功
2022-02-08 12:34:47,980 INFO: 交易服务器登录成功, 会话编号:269484032
2022-02-08 12:34:47,985 INFO: 连接XTP接口
2022-02-08 12:34:48,348 INFO: SSE合约信息查询成功
2022-02-08 12:34:48,640 INFO: SZSE合约信息查询成功
2022-02-08 12:34:49,009 INFO: 期权信息查询成功