麻烦老师转换为金字塔自定义函数 XMA(X,N)
//MA是把结果放到计算当天。而XMA把这个值放到向前数第(N+1)/2的位置上
通达信XMA函数C++源码
认真分析了一下通达信各种平滑处理函数实现的机理,进行了相应的c++编程和测试,结果完全吻合。现将XMA函数C++源代码分享给大家。
函数根据通达信dll插件调用格式编写.
//参数说明:
//DataLen:输入数据的长度
//pfOUT:输出数据
//pfINa:输入数据C
//pfINb:输入参数
void XMA(int DataLen, float*pfOUT, float*pfINa, float*pfINb)
{
int N = int(*pfINb);
int p = int((N - 1) / 2);
float sum = 0;
float count = 0;
for (int i = 0; i < DataLen; i++)
{
int start = i - p-1;
int end = i + (N-p)-1;
for (int j = start; j < end; j++)
{
if (j >= 0&&j<DataLen) {
sum += pfINa[j];
count += 1;
}
}
pfOUT = sum / count;
sum = 0;
count = 0;
}
}