VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 6
声望: 0

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

Super Moderator
avatar
加入于:
帖子: 554
声望: 43

文件的编码格式不是utf-8的,但是使用utf-8编码格式去读取出的问题。只有在策略初始化时报错的话应该是策略的缓存文件。看一下是不是策略中有读取文件的操作,如果没有的话试试把用户名目录下.vntrader下cta开头的文件全部删掉重启试试。

Member
avatar
加入于:
帖子: 6
声望: 0

.vntrader下的文件全部删掉也不行,但是回测执行又是正常的,init_strategy也提示初始化完成后接着就报错。sqlite数据库是ansi编码的,难道跟数据库文件有关?

Member
avatar
加入于:
帖子: 3254
声望: 218

请问你用的哪个接口?

Member
avatar
加入于:
帖子: 6
声望: 0

`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)`
Member
avatar
加入于:
帖子: 6
声望: 0

目前跟踪到报错的位置在订阅行情数据这里 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: 期权信息查询成功

Member
avatar
加入于:
帖子: 6
声望: 0

我下载最新版本的https://github.com/vnpy/vnpy_xtp进行替换好像就正常了,正在测试中。。。

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

沪公网安备 31011502017034号

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