C++程序化/量化学习视频教程系列 第006节:鼎元C++程序化策略源码分析与模块化功能分类【我们是如何降低C++程序化门槛的?】
- UID
- 2
- 积分
- 2868965
- 威望
- 1384510 布
- 龙e币
- 1484455 刀
- 在线时间
- 13082 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-11-14
|
C++程序化/量化学习视频教程系列 第006节:鼎元C++程序化策略源码分析与模块化功能分类【我们是如何降低C++程序化门槛的?】
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|
|
|
|
|
|
- UID
- 2
- 积分
- 2868965
- 威望
- 1384510 布
- 龙e币
- 1484455 刀
- 在线时间
- 13082 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-11-14
|
|
|
|
|
|
|
- UID
- 2
- 积分
- 2868965
- 威望
- 1384510 布
- 龙e币
- 1484455 刀
- 在线时间
- 13082 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-11-14
|
第二部分:说明
1、外部依赖项【谨慎修改】
2、头文件【修改与编辑仅限于 test.h文件】
3、源文件【修改与编辑仅限于test.cpp文件】
4、资源文档【谨慎修改】
整体上来说我们进行C++程序化设计主要的编辑与设计就是集中于【test.h头文件】和【test.cpp资源文件】这两项。环境配置与交易配置相关的模块就由专门技术人员一次性写好后就不用到,我们设计策略的仅集中于策略本身进行创作与设计就可以了,这样就可以从根本上降低了程序化领域中最复杂的C++领域的程序化入门的门槛! |
|
|
|
|
|
|
- UID
- 2
- 积分
- 2868965
- 威望
- 1384510 布
- 龙e币
- 1484455 刀
- 在线时间
- 13082 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-11-14
|
第三部分:【test.h】头文件模块相关的说明与注释
本帖隐藏的内容需要回复才可以浏览
经过我上面的分类与功能模块化处理后,我们在后续的程序化交易过程中仅需要设计与编辑最后面的function变量和策略变量与参数相关的功能模块就行了,其它就不用动了。就是这样降低的C++量化门槛的。 |
|
|
|
|
|
|
- UID
- 2
- 积分
- 2868965
- 威望
- 1384510 布
- 龙e币
- 1484455 刀
- 在线时间
- 13082 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-11-14
|
第三部分:【test.h】头文件主要编辑与设计的变量如下:
1、公式指标设计相关的变量名称:- private:
- //公式指标(function)变量设计(开始)******************************************
- double avg(string period, string inst, int num);
- double highest(string period, string inst, int num);
- double lowerest(string period, string inst, int num);
- double avg1(string period, string inst, int num, int ref);
- double highest1(string period, string inst, int num, int ref);
- double lowerest1(string period, string inst, int num, int ref);
- //公式指标(function)变量设计(结束)******************************************
复制代码 以上面的变量为例,我主要设计了AVG(均线公式类似MC中average功能),highest(最高公式,MC中highest功能),lowest(最低值公式,参考MC中lowest功能),avg1(获取上一根均线的数值,参考MC中average[1]功能),highest1(参考MC中highest[1]功能),lowest1(参考MC中lowest[1]功能)。
在后续的教程中我将逐渐将市面上面公式逐渐写出来供大家使用。 |
|
|
|
|
|
|
- UID
- 2
- 积分
- 2868965
- 威望
- 1384510 布
- 龙e币
- 1484455 刀
- 在线时间
- 13082 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-11-14
|
第四部分:【test.cpp】源文件模块相关的说明与注释
全部程式码如下:
本帖隐藏的内容需要回复才可以浏览 |
|
|
|
|
|
|
- UID
- 2
- 积分
- 2868965
- 威望
- 1384510 布
- 龙e币
- 1484455 刀
- 在线时间
- 13082 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-11-14
|
第四部分:【test.cpp】源文件模块相关的说明与注释
由于test.cpp文件源码过多,虽然我按功能进行了模块化分类,不过还是大体上说一下功能类似。
1、外部引用类:【勿动】
2、TEST主文件功能性模块;【勿动】
3、公式(function)模块;
4、初始化相关的参数与变量配置与引用模块;
5、点击“运行”与“停止”模块;
6、tick数据策略模块(主模块之一);
7、bar数据策略模块(主策略之二);
8、与交易相关的一些功能性模块及其它琐碎的功能模块;【勿动】
经过上面我的归类,在程序化策略设计中我们主要的使用模块就只有几个需要动即的:公式指标模块、初始参数与变量模块、运行与停止动作模块、tick策略模块(可选),bar策略模块(可选);
特别上上面的tick策略与bar策略,是可以选择的,有人喜欢跑tick策略,有人喜欢跑bar策略。自己选择即可。经过这样一分类是不是感觉C++的程序化设计也不过就是这么几个简单的功能模块了?后在我将逐步教大家如何对他们进行设计。 |
|
|
|
|
|
|