鼎元C++量化程式码指标与函数模块系列之【动量指标(Momentum Index,MTM)计算方法及调用方法】
指标使用说明:[url=http://www.qhlt.cn/thread-161632-1-1.html]http://www.qhlt.cn/thread-161632-1-1.html[/url];C++平台公式程式码:
第一部分:头文件声明变量:[code]
double Momentum(string period, string inst, int num); //动量指标(Momentum Index,MTM)计算与指标调用
[/code]第二部分:源文件公式区域MTM核心计算公式程式 码[code]
//动量指标(Momentum Index,MTM)计算与指标调用
double test::Momentum(string period, string inst, int num)
{
double d = 0;
int r = 0;
int n = 0;
map<string, TKVALUE>::reverse_iterator it;
for (it = mapK[period][inst].rbegin(); it != mapK[period][inst].rend(); it++)
{
if (r == 0) n = it->second.dClose;
r++;
if (r < num)continue; //跳过NUM个bar
d = it->second.dClose; //将ref个bar前一个bar的收盘价赋值给d ;
break;
}
return n - d;
}
[/code]第三部分:源文件区域调用方法:[code]
RsqBar(sPeriod, sInst); //申请数据
Momentum(sPeriod, sInst, length);
InsertLog("LENGTH周期前bar收盘价为: " + to_string(Momentum(sPeriod,sInst,length)));
[/code]
页:
[1]