VC6.0 如何编写大智慧飞狐等股票dll函数举例
编写 zig(c,10) 函数
源码如下
__declspec(dllexport) int WINAPI ZIG(CALCINFO* pData)
{
float c2,c3;
if ( pData->m_pfParam1
&&
//参数1有效
pData->m_nParam1Start<0
&&
//参数1为常数
pData->m_pfParam2==NULL
)
//仅有一个参数
{
float fParam = *pData->m_pfParam1;
int nPeriod =
(int)fParam;
//参数1
if(nPeriod>0)
{
int i, p;
float vclose;
p=0;
for ( i =0; i < pData->m_nNumData;
i++ ) //全部清零
{
pData->m_pResultBuf = 0;
c2=pData->m_pData.m_fClose;
c3=pData->m_pData.m_fClose;
}
for(i=1;i<pData->m_nNumData;i++)
{
vclose=pData->m_pData.m_fClose;
if(p==0 || p==1)
{
if(vclose >= c2*(1-(float)nPeriod/100))
c2= c2>=c2 ? c2:c2;
else
{ p=-1;
pData->m_pResultBuf=-1;
}
}
if(p==0 || p==-1)
{
if(vclose <= c3*(1+(float)nPeriod/100))
c3=c3>=c3 ? c3:c3;
else
{ p=1;
pData->m_pResultBuf=1;
}
}
}
}
}
return
0;
}
|