C++程序化/量化学习视频教程系列 第026节:鼎元C++量化之建立第一个均线指标函数(均线周期自定义,输出均线数值,c++ 语言下average均线,sma)及C++量化开发中的注意事项【C++量化指标公式开发系列】
- UID
- 2
- 积分
- 2892617
- 威望
- 1396340 布
- 龙e币
- 1496277 刀
- 在线时间
- 13326 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-12-25
|
C++程序化/量化学习视频教程系列 第026节:鼎元C++量化之建立第一个均线指标函数(均线周期自定义,输出均线数值,c++ 语言下average均线,sma)及C++量化开发中的注意事项【C++量化指标公式开发系列】
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|
|
|
|
|
|
- UID
- 2
- 积分
- 2892617
- 威望
- 1396340 布
- 龙e币
- 1496277 刀
- 在线时间
- 13326 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-12-25
|
设计步骤:
1、在头文件声明两个变量- double avgprice;
- int length;
- vector<double>closeprice;
复制代码 2、设计一个输入周期窗口:- t.Name = "指标周期"; t.Value = "20"; t.Explain = "均线参数"; tend(t);
复制代码 3、将这个窗口接收到的周期数据传递给变量:- length = atoi(parm["指标周期"].Value.c_str());
复制代码 4、申请bar数据调用指令- RsqBar(sPeriod, sInst);
- int key = 0;
- int sump = 0;
复制代码 5、建立逆向迭代器- map<string, TKVALUE>::reverse_iterator it;
复制代码 6、建立 for循环遍历,进行取数值准备:- for(it = mapK[sPeriod][sInst].rbegin(); it != mapK[sPeriod][sInst].rend(); it++)
- {
- }
复制代码 7、求平均核心逻辑思路:
(1)、加总前length个bar的收盘价,然后取平均。- sump = sump + it->second.dClose; // sump += it->second.dClose
- key++;
- if (key >= length)break;
复制代码- avgprice = sump / length;
复制代码 (2)、做一个收集前length个收盘价的vector容器,然后加总每个值,最后取平均。- closeprice.push_back(it->second.dClose);
- key++;
- if (key >= 20)break;
复制代码- avgprice = sump / length;
复制代码- InsertLog("前 " + to_string(length) + " 个bar的收盘价格平均值为:" + to_string(avgprice));
复制代码 |
|
|
|
|
|
|