C++程序化/量化学习视频教程系列 第050节:鼎元C++量化指标封装之【市场强度函数(marketstrength)计算方法及调用方法】【C++量化指标公式开发系列】
- UID
- 2
- 积分
- 2898417
- 威望
- 1399240 布
- 龙e币
- 1499177 刀
- 在线时间
- 13365 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2025-1-12
|
C++程序化/量化学习视频教程系列 第050节:鼎元C++量化指标封装之【市场强度函数(marketstrength)计算方法及调用方法】【C++量化指标公式开发系列】
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|
|
|
|
|
|
- UID
- 2
- 积分
- 2898417
- 威望
- 1399240 布
- 龙e币
- 1499177 刀
- 在线时间
- 13365 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2025-1-12
|
|
|
|
|
|
|
- UID
- 2
- 积分
- 2898417
- 威望
- 1399240 布
- 龙e币
- 1499177 刀
- 在线时间
- 13365 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2025-1-12
|
C++语言市场强度函数构建方法及调用方法:
第一部分,头文件声明变量:- vector<double> pc;
- int key;
- double val1, val2, val3,marketstrength;
复制代码 第二部分,源文件构建市场强度核心程式码:- RsqBar(sPeriod, sInst); //申请数据
- val1 = 0;
- val2 = 0;
- val3 = 0;
- marketstrength = 0;
- map<string, TKVALUE>::reverse_iterator it; //建立逆向迭代
- for (it = mapK[sPeriod][sInst].rbegin(); it != mapK[sPeriod][sInst].rend(); it++) //遍历
- {
- pc.push_back(it->second.dClose); //将收盘价装入pc容器,注意是反向的,越靠前数据越新,比方说pc[0]是最新价格
- if (key > length)break; //截取前0-11个收盘价,一共12个数据
- key++;
- }
- for (int i = 0; i < pc.size() - 1; i++)
- {
- val1 += iff(pc[i] > pc[i + 1], pc[i], -pc[i]);
- val2 += iff(pc[i] > pc[i + 1], pc[i], 0);
- val3 += iff(pc[i] > pc[i + 1], 0, pc[i]);
- }
- if (val1 >= 0)
- {
- marketstrength = 100 * val1 / val2;
- }
- else
- {
- marketstrength = 100 * val1 / val3;
- }
复制代码 第三部分,调用方法:- InsertLog("数据量一共有: " + to_string(pc.size()-1) + "marketstrength: " + to_string(marketstrength));
复制代码 |
|
|
|
|
|
|