: | : | :期货量化学习 | :期货量化 |
返回列表 发帖

为什么不直接用C++开发CTP

为什么不直接用C++开发CTP

pyctp,c++ ctp,还有c# ctp,我都用过一点,不过都是只做了一小部分工作。
在我看来,各种语言核心逻辑部分的代码量都差不多。区别在于基础库的完善程度和语言本身带来的开发调试效率差别。
即使对c++很熟悉,开发效率依然比不上c#,因为将来做策略开发,会频繁的修改程序,然后运行,而c++的编译速度太慢。另外,c++语言和开发环境决定了其调试的代价过高,综合下来,c++开发ctp的效率要远低于c#。
我自己的感觉,用C#开发,绝大部分时间是用于业务逻辑,而C++很大一部分时间是用于解决语言和环境直接、间接带来的问题。
从效率方面来看,经过我的简单测试,相差不大(不超过20%),因为stl和boost范式鼓励在栈上创建对象,对象复制的开销很显著,而C#中传引用的方式则没有这个代价。此外C#中创建对象的代价要小于c++堆中创建对象的代价。
当然,相对与C++,c#的限制要多一些,比如跨平台(mono相对不成熟),c#模板、运算符重载的约束比较严格等。总的来说,我倾向于C#。
对于Python,我在写复杂系统的时候感觉比较吃力,尤其是在做面向对象的架构时(面向对象机制不完善,也没有函数重载)。没有静态类型检查,时间长了,代码反复修改之后,不知道会有什么陷阱。而且因为动态类型,编辑器的自动完成和提示也很弱,以前的函数要什么参数要看着代码想一会才能想起来,很影响开发效率。
所以,我现在又回到C#了。
我的建议是,除非对C++及开发环境用的很顺手,并且积累了完善的基础工具库,否则用C++的代价很高。

论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

百度上面的一个回答,现在我也是晕的厉害。基本上可以确定的是CTP接口用的是C++写的、然后自己的策略是用C++,c#还是Python 的区别。 当然窗体还是C#好一些,python的不了解,有懂这个的可以在这里贴一下情况。
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

TOP

返回列表