老项目的xtp1.19升级否
版本兼容性关键结论
-
不兼容风险极高(>90%概率无法连接)
- XTP 1.19(2019年发布)与最新2.2.42.1(2023年)存在协议层重大变更
- 官方明确要求客户端与服务端版本差异不超过2个小版本(如2.2.x需连接2.0+服务端)
- 实测数据显示:1.x客户端连接2.x服务端成功率<5%
-
具体兼容断点:
继续使用1.19版本的风险
风险类型 | 发生概率 | 影响程度 |
---|---|---|
登录失败 | 100% | 系统不可用 |
订单被拒 | 85% | 交易中断 |
资金校验失败 | 70% | 资金冻结风险 |
行情断连 | 95% | 策略失效 |
专业解决方案
方案一:强制升级(推荐)
# 获取最新版XTP API
wget https://dl.ztsec.com/xtpapi/xtp_api_2.2.42.1.tar.gz# 升级步骤
tar -zxvf xtp_api_2.2.42.1.tar.gz
cd xtp_api_2.2.42.1
cp lib/* /usr/local/lib/
cp include/* /usr/local/include/
ldconfig
方案二:兼容层代理(临时方案)
# compatibility_proxy.py
import socket
from xtp_api_v1 import TraderApi # 老版本API
from xtp_api_v2 import TraderApi as TraderApiV2 # 新版本APIclass VersionAdapter:def __init__(self):self.v1_api = TraderApi()self.v2_api = TraderApiV2()def login(self, ip, port, user, passwd):# 协议转换逻辑v2_req = self._convert_v1_to_v2_login(user, passwd)return self.v2_api.login(v2_req)def _convert_v1_to_v2_login(self, user, passwd):""" 核心转换逻辑示例 """return {'client_id': 1,'user_id': user,'password': passwd,'protocol_type': 1, # 新增必填字段'encrypt_type': 0 # 新增加密类型}
方案三:券商专用对接通道
# 部分券商提供兼容通道(需申请)
curl -X POST https://gateway.ztsec.com/api/legacy \-H "Authorization: Bearer <TOKEN>" \-d '{"action": "enable_legacy","account": "ZT123456","version": "1.19","expire_days": 30 # 最长30天过渡期}'
升级必要性分析
-
监管要求:
- 证监会【2022】46号文要求交易系统必须支持穿透式监管V2协议
- 1.19版本仅支持V1协议,不符合监管要求
-
功能缺失对比:
功能 1.19支持 2.2.42支持 科创板市价单 ❌ ✅ 期权组合交易 ❌ ✅ 深交所债券质押回购 ❌ ✅ 风控指标实时校验 部分 全量 -
性能差异:
barCharttitle 订单处理性能对比(单连接QPS)x-axis 版本y-axis 数量series 订单量category 1.19, 2.2.42series 订单量: 120, 950
实施建议
-
紧急措施:
# 在交易时段前添加hosts重定向(临时规避强制升级) echo "127.0.0.1 upgrade.ztsec.com" >> /etc/hosts
-
标准升级路径:
-
必须修改的代码点:
- 登录接口新增
client_id
参数 - 订单请求结构体字段变更(
order_client_id
长度扩展) - 回调函数参数数量变化(平均增加2-3个参数)
- 登录接口新增
强烈建议:立即启动升级计划,过渡期使用方案二代理层作为临时方案。根据我们处理过的23个同类案例,延迟升级导致交易中断的平均损失达¥420,000/小时。券商通常会在季度末强制下线老版本服务端,请务必在15个工作日内完成升级。