C++程序化/量化学习视频教程系列 第028节:鼎元C++量化之封装第二个指标之最高/低值(highest/lowest)指标(求N周期最高价highest(N)与N周期最低价lowest(N),方便在策略中调用)及C++量化开发中的注意事项【C++量化指标公式开发系列】
- UID
- 2
- 积分
- 2903567
- 威望
- 1401815 布
- 龙e币
- 1501752 刀
- 在线时间
- 13440 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2025-1-30
|
C++程序化/量化学习视频教程系列 第028节:鼎元C++量化之封装第二个指标之最高/低值(highest/lowest)指标(求N周期最高价highest(N)与N周期最低价lowest(N),方便在策略中调用)及C++量化开发中的注意事项【C++量化指标公式开发系列】
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|
|
|
|
|
|
- UID
- 2
- 积分
- 2903567
- 威望
- 1401815 布
- 龙e币
- 1501752 刀
- 在线时间
- 13440 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2025-1-30
|
第一部分,在头文件test.h中声明highest、lowest变量:- double highest(string period, string inst, int num);
- double lowerest(string period, string inst, int num);
复制代码 第二部分、源文件公式计算函数- // 计算num周期内bar最高价格
- double test::highest(string period, string inst, int num)
- {
- double hiprice = 0;
- int key = 0;
- map<string, TKVALUE>::reverse_iterator it;
- for (it = mapK[period][inst].rbegin(); it != mapK[period][inst].rend(); ++it)
- {
- if (hiprice < it->second.dHigh)hiprice = it->second.dHigh;
- key++;
- if (key >= num)break;
- }
- return hiprice;
- }
复制代码- //计算num周期内bar最低价格
- double test::lowest(string period, string inst, int num)
- {
- double lowprice = 0;
- int key = 0;
- map<string, TKVALUE>::reverse_iterator it;
- for (it = mapK[period][inst].rbegin(); it != mapK[period][inst].rend(); ++it)
- {
- if (lowprice == 0)lowprice = it->second.dLow;
- if (lowprice > it->second.dLow)lowprice = it->second.dLow;
- key++;
- if (key >= num)break;
- }
- return lowprice;
- }
复制代码 三、使用方法:
1、范例:- RsqBar(sPeriod, sInst);
- lowest(sPeriod, sInst, 20);
复制代码 |
|
|
|
|
|
|
- UID
- 2
- 积分
- 2903567
- 威望
- 1401815 布
- 龙e币
- 1501752 刀
- 在线时间
- 13440 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2025-1-30
|
|
|
|
|
|
|