对
ma4: "STOCKFUNC@XX"(ma1,5); 没有输出
ma3: "STOCKFUNC@XX"(c,5); 有输出
ma5: "STOCKFUNC@XX"(ma3,5); 没有输出
就是这个意思
"STOCKFUNC@JJMA"(c,5,0);
ma1:=ma(c,5);
"STOCKFUNC@JJMA"(ma1,5,0);
如上
第一句能执行 所以上面注的5条都不是问题
那ma1的输出是什么,用variable 申明过数组用来存放ma1 看起来确实是数组
但ma1和 variable申明的数组 都没法用在 "STOCKFUNC@JJMA"中
DLL的申明已经很清楚了
extern "C" __declspec(dllimport) int WINAPI JMA(int iSize,double *pdSignal,double dSmooth,double dPhase,double *pdFilter);
5个参数
数组的长度,输入double数组的指针,参数1,参数2,输出double的指针
const float* pValue1 = pData->m_pCalcParam[0].m_pfParam;
double *input=new double[count];
double *output=new double[count];
for (int i=0;i<count;i++)
{ input[i]=(double)pValue1[i]; }
这一段就是申明输入输出数组 然后把金字塔的数据存入 double数组 input作为 JMA的输入数据
dll包是蛮有名的jma
[此贴子已经被作者于2011-2-12 14:47:53编辑过]