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

1 使用CTP测试接口进行认证前的评测,总是出错!

开户在中信建投期货,申请做CTP认证,填了个表格发过去。第二天说要先做CTP认证测试。好,做吧!

1.1 启动VNStation,进入下面的界面:

网关选择CTP测试
description

1.2 输入评测参数

输入测评给用户名、密码、经纪商代码、交易服务器ip及端口、行情服务器ip及端口 和 认证码等项:
description

1.3 登录失败报出4097

按连接按钮,却出现下面的错误,连续3天解决不了。也不知道时期货公司的问题,还是咱自己的问题。
description

2 重新安装,进行CTP评测登录,没有问题!

找到一台未安装过vnpy的电脑,安装vnpy后直接重复上面的步骤,OK,一次就通过测评了!

3 寻找问题的根源,原来时CtpGateway被同时加载了

3.1 在vnstation\info.py中有下面的叙述:

TEXT_TRADER_CONFIG = """
1. 请勾选需要使用的底层接口和上层应用模块
2. 配置完毕后,点击“启动”按钮来打开VN Trader
3. VN Trader运行时请勿关闭VN Station(会造成退出)
4. CTP、CTP测试接口不能同时加载(会导致API版本错误)
5. CTP Mini和CTP Mini测试接口不能同时加载(会导致API版本错误)
"""

3.2 猜测是修改vnpy系统的过程中,不小心加载了CtpGateway

那就找到vnpy\gateway\ctp__init__.py,按照下面修改:

from .ctp_gateway import CtpGateway

# 增加主动出错定位的代码
print("【CtpGateway inited】")
abc = not_exist_var # 制造一个错误,以便发现错误

3.3 根据错误提示,找到错误位置

再次在VNStation Prompt窗口中输入 python -m vnstation命令,启动VNStation,如果不能顺利启动到主界面,并且出现了错误,说明你的修改导致了CtpGateway模块被引用过(因为我们制作了一个错误,只要你加载了CTP模块,就会出错!),根据报出的出错语句,你就可以顺利地将问题找到。目标就是不可以在没有寻找CTP网关接口的情况下,加载CTP模块,from,import语句是最容易出错的地方,
如:
from vnpy.gateway.ctp.ctp_gateway import xxxxx
哪怕是import的符号不是CtpGateway也不可以。

3.4 排查出问题后恢复vnpy\gateway\ctp__init__.py的内容:

把制造错误的语句注释掉。

from .ctp_gateway import CtpGateway

# 增加主动出错定位的代码
print("【CtpGateway inited】")
# abc = not_exist_var # 制造一个错误,以便发现错误

3.5 再次选择CTP测试网关,填写之前的测评设置参数,就可以顺利登录期货公司的测评环境了。

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

我也遇到了这个问题,

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

解决了, 就是CTP和CTP Test只能勾选一个 就连上了。 不能同时勾选。。

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

谢谢楼主啦!么么哒!

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

沪公网安备 31011502017034号

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