|
送給有需要的朋友 __declspec(dllexport) int WINAPI JLGPS(CALCINFO* pData) { if(pData->m_pfParam1 && pData->m_pfParam2 && //參數(shù)1,2有效 pData->m_pfParam3 && pData->m_nParam1Start>=0 && //參數(shù)1為序列數(shù) pData->m_pfParam4==NULL) //有2個(gè)參數(shù) { int i=pData->m_nNumData-1; int g=(int)*(pData->m_pfParam2); int tj=(int)pData->m_pfParam1; if (tj) //tj是選股條件 { gpjl gpa; strcpy(gpa.dm,pData->m_strStkLabel); gpa.sjd=GetTickCount(); int bz=0;//修改標(biāo)志 vector<gpjl>::iterator it; if (gpz[g].size()==0) {gpz[g].push_back(gpa); bz=1; } else { for(it=gpz[g].begin();it!=gpz[g].end();) { if(strcmp(it->dm,gpa.dm)==0) { it->sjd=gpa.sjd; bz=1; } if( gpa.sjd- it->sjd>=(int)*(pData->m_pfParam3)*1000) //8改第2個(gè)參數(shù) it=gpz[g].erase(it); else ++it; } } if(bz==0) gpz[g].push_back(gpa); } if (tj) //tj是第一個(gè)參數(shù) pData->m_pResultBuf=1; else pData->m_pResultBuf=0; //gp.nSize(); return i; } return -1; } __declspec(dllexport) int WINAPI JLGPS_CALC_PREV(CALCINFO* pData) { if(pData->m_pfParam2) { float f = *pData->m_pfParam2; return ((int)f) - 1; } return 0; } __declspec(dllexport) int WINAPI GPS(CALCINFO* pData) { if(pData->m_pfParam1 && //參數(shù)1,2有效 pData->m_nParam1Start<0 && //參數(shù)1為序列數(shù) pData->m_pfParam2==NULL) //有2個(gè)參數(shù) { int i=pData->m_nNumData-1; int g=(int)*(pData->m_pfParam1); pData->m_pResultBuf=gpz[g].size();//股票數(shù) return i; } return -1; } __declspec(dllexport) int WINAPI GPS_CALC_PREV(CALCINFO* pData) { if(pData->m_pfParam2) { float f = *pData->m_pfParam2; return ((int)f) - 1; } return 0; }股票 |
|
|