Rust或C#,Python 等如何封装C++的接口 (比如CTP)?

21 篇文章 7 订阅
19 篇文章 0 订阅

各种原因吧,与交易相关方面的原生接口大多是用C++来写的,比如CTP,飞马,飞创等。华宝的LTS,中泰的XTP估计也差不多。

正是因为此,也让很多人苦B了,因为并不是所有的人都善于或者喜欢用C++来写。如果让你驾驭C++,你有多大的自信? 反正我没有!

实际交易中,有人用Java的,也有用C#的…….,最近,Rust也很热,如果用Rust写对接CTP的交易代码?这是有意思的事情。

甚者,有不少的交易员,为了方便,直接用Python来调CTP中的接口,或者封装C++接口,把量化从研究回测的链条拉进了交易生产环境中,这可以看得出,这得需要多大的勇气!我们看到的就有当前热门的vn.py一群人忙前忙后的身影!

一、一些资料

C# 调用 C++ API 时,函数的参数类型该怎么转换?
https://www.zhihu.com/question/34670135

https://www.zhihu.com/question/29429287

http://www.360doc.com/content/16/1027/18/10408243_601883322.shtml

http://www.cnblogs.com/Dream618/p/5774318.html

C#调用C/C++ 动态链接库DLL(1-4)
http://blog.csdn.net/nocky/article/details/7687586
http://blog.csdn.net/nocky/article/details/7685131
http://blog.csdn.net/nocky/article/details/7687603
http://blog.csdn.net/nocky/article/details/7687703

VC++动态链接库(DLL)编程深入浅出

https://wenku.baidu.com/view/c4baa91dfad6195f312ba64b.html

二、两种工具:

https://github.com/mono/CppSharp

https://github.com/swig/swig

三、几个问题:Rust呢?

OpenQuant内盘期货插件 ## 目的 将OpenQuant与国内的CTP进行对接,让OpenQuant直接能交易国内期货 ## 设计思路 1. 利用了本开源项目的C-CTP接口,与CSharp-CTP接口 2. C-CTP、CSharp-CTP都以dll方式调用 3. 本插件同时支持QuantDeveloper、OpenQuant2和OpenQuant3(以下分别简称QD、OQ2和OQ3),只要进行再编译即可 4. 为了支持查询合约列表功能,不使用OpenQuant接口,而是使用更底层的SmartQuant接口 ## 如何安装使用 1. 找到SmartQuant接口插件目录C:\Program Files\SmartQuant Ltd\OpenQuant\Framework\bin\ 2. 复制QuantBox.OQ.CTP.dll这个SQ插件,确保此插件的版本正确 3. 找到OpenQuant接口插件目录C:\Program Files\SmartQuant Ltd\OpenQuant\Bin\ 4. 复制thostmduserapi.dll、thosttraderapi.dll两个CTP的dll到此目录 5. 复制QuantBox.C2CTP.dll、QuantBox.CSharp2CTP.dll、QuantBox.Helper.CTP.dll、NLog.dll到此目录 6. 复制CTP.nlog到此目录,或自己修改此文件 7. 找到软件的插件配置文件C:\Documents and Settings\Administrator\Application Data\SmartQuant Ltd\OpenQuant\Framework\ini\framework.xml 8. 添加``到对应位置 9. 如何使用请查看插件的使用说明 ## 如何开发 1. 确保你的C-CTP接口的dll、CSharp-CTP接口等都是最新的 3. 修改引用中有关SmartQuant类库的地址,使用你目标OQ中下的dll 4. 修改.NET框架要使用的版本,QD使用2.0,OQ2使用3.5,OQ3使用4.0 5. 修改dll生成的目录,具体请参考如何安装。 6. 调试只能使用附加到进程,建议学习并使用远程调试 7. 如果插件完全无法加载,请找到对应的log文件,查看日志。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值