Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共2 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]c++实现wma算法的问题

1楼
lksj 发表于:2017/3/6 11:05:50
实在没找到哪里有错误,但是实际计算出来的画的线与公式里写WMA(H,50)不一致,请问算法哪里有错?应如何修改?
以下内容为程序代码:

1 __declspec(dllexport) int WINAPI MYYGDC1(CALCINFO* pData)
2 {
3     if (CONFIRMLOCKINFO() == 0) //加密狗检测不合法
4         return 0;
5     if (pData->m_pfParam1 &&     //参数1有效
6         pData->m_nParam1Start >= 0                    //参数1为序列数
7         )
8     {
9         const float* pValue = pData->m_pfParam1;    //参数1
10         int nFirst = pData->m_nParam1Start;            //有效值起始位
11         float fParam = 50;            //参数2
12         int nPeriod = (int)fParam;
13         if (nFirst >= 0 && nPeriod > 0)
14         {
15             float fTotal;
16             int i, j;
17             for (i = nFirst + nPeriod - 1; i < pData->m_nNumData; i++)
18             {
19                 fTotal = 0.0f;
20                 float fSum = 0.0f;
21                 for (j = 0; j < nPeriod; j++) //累加
22                     fTotal += (pValue[i - j] * (j + 1));
23                 for (j = 1; j <= nPeriod; j++)
24                     fSum += j;
25
26                 pData->m_pResultBuf[i] = fTotal / fSum;//平均
27             }
28             return nFirst + nPeriod - 1;
29         }
30     }
31 }

[此贴子已经被作者于2017-3-6 11:06:11编辑过]
2楼
lksj 发表于:2017/3/6 14:24:30
已解决问题
共2 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01172 s, 2 queries.