CTP接口的Python包
此软件包由您在生产环境中使用,支持透明的监管。 自己封装的主要原因是其他作者经常扔坑。 虽然更封装了吧,但很快就不会更新了。
考虑到一般在ctp之上封装APP应用层,不需要太过讲究,尽量与C版一致,便于跟上新版本就好了。
请先仔细阅读文件。 我不对使用这个库的结果负责。
安装步骤
本地克隆代码
git @ github.com : keli/CTP-python.git
cd ctp-python
安装
python setup.py install
目前默认使用的是版本6.3.15。 如果需要链接使用6.3.13版,则需要增加一点步骤:
将setup.py中的API_VER值更改为“6.3.13”
在swig中重新生成源代码
cd ctp-python
swig-python-py3-c-threads-I./API/6.3.13-octp _ wrap.CPP CTP.I
python setup.py install
做个测试吧
py test-stests/test _ trader.py-- front=TCP ://180.168.146.187336013030-- broker=-- user-paser-paser
其他事项
在本项目中,CTP返回的所有GBK编码字符串已自动转换为UTF-8
市场数据中的极大值表示没有数据,为了便于阅读,打印整个结构时会显示None
目前只支持Python 3、测试环境Linux
simnow已启用6.3.15版
常见问题
为什么要报告UTF-8和GBK的转码错误?
这不是转码的问题,而是内存管理的问题。 ctp库释放它传递给你的回调函数的内容。 sdgk打印时,由于该内存已经被free,所以报告转码失败。 最理想的处理方式是更改swig的定义,自动将相应结构的内容复制到python中,但swig如何执行此操作尚不清楚。 在我的代码中需要缓存的ctp结构只有很少的地方,所以我在用户代码中直接手动转换为自己定义的python数据类型。
有用的参考链接