TqSdk2 与 TqSdk 有哪些差别
TqSdk2 与 TqSdk 在代码编写方面几乎一样,大部分 TqSdk 上的函数和代码在 TqSdk2 上面能够直接使用,总体架构上 TqSdk2 和 TqSdk 有了不少进步.
系统整体架构
TqSdk 使用的是基于网络协作的组件设计. 如下图:
如图所示, 整个系统结构包括这些关键组件:
行情网关 (Open Md Gateway) 负责提供实时行情和历史数据
交易中继网关 (Open Trade Gateway) 负责连接到期货公司交易系统
上面两个网关统一以 Diff 协议对下方提供服务
TqSdk 按照Diff协议连接到行情网关和交易中继网关, 实现行情和交易功能
TqSdk2 继承了上述这种架构,并且将交易中继网关并入了本地,因此**额外**提供给用户直连期货公司的选项:
在选择 TqSdk2 直连模式时:
用户代码从中继模式切换直连模式,只用修改一行代码
直连模式下,省去交易指令需要经过交易中继网关流程,减少了用户交易指令到达期货公司的延迟,并提升系统稳定性
需要注意选择直连模式时,用户需要向期货公司申请程序化接入并且填写自己的接入信息 以直连模式接入期货公司
同时 TqSdk2 中将 TqSdk 里的底层代码全部用 C++ 进行了重构,会在这些地方有明显改善:
维持了大部分 TqSdk 中的接口,让用户 TqSdk 中的代码可以不需修改的移动到 TqSdk2
有效减少了程序内的运算耗时
同等代码下 TqSdk2 的回测速度提升了十倍以上
相比 TqSdk, TqSdk2 期货公司直连测试流程
其它区别
此外, 还有一些差别值得注意
TqSdk2 要求 Python 3.6.4 以上版本, 不支持 Python 2.x
要学习使用 TqSdk2, 推荐从 十分钟快速入门 开始