通达信XMA函数C++源码
认真分析了一下通达信各种平滑处理函数实现的机理,进行了相应的c++编程和测试,结果完全吻合。现将XMA函数C++源代码分享给大家。
函数根据通达信dll插件调用格式编写,以方便有dll编程需要的朋友直接使用。欢迎针对本贴内容进行讨论,有其他函数编程需求也欢迎留言讨论。
//参数说明:
//DataLen:输入数据的长度
//pfOUT:输出数据
//pfINa:输入数据C
//pfINb:输入参数1
//pfINc:输入参数2(如果相关通达信函数仅有一个输入参数,则为0)
//? ?? ? 对于EMA函数,存在输入数据不整齐情况下,数据起始的位置。否则为0;
void XMA(int DataLen, float*pfOUT, float*pfINa, float*pfINb, float*pfINc)
{
? ?? ???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
? ?? ?? ?? ?? ?? ???count += 1;
? ?? ?? ?? ?? ? }
? ?? ?? ?? ?}
? ?? ?? ?? ?pfOUT = sum / count;
? ?? ?? ?? ?sum = 0;
? ?? ?? ?? ?count = 0;
? ?? ???}
}
?
---------------------
此贴无下载
Copyright 2018- www.ahjiedai.com 融城股票网 版权所有 邮箱:terrylm@qq.com
免责声名:本站所发表的内容仅用于学术交流和学习,内容所带来的一切后果均与本站无关。若您发现本站存在您非授权的原创作品,请第一时间联系本站删除!