以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  高级功能研发区  (http://222.73.7.161/bbs/list.asp?boardid=5)
----  逐K模式金字塔接口文件  (http://222.73.7.161/bbs/dispbbs.asp?boardid=5&id=65737)

--  作者:赫斯德
--  发布时间:2014/6/3 12:22:26
--  逐K模式金字塔接口文件
在文件金字塔“C语言接口”扩展程序调用接口规范里默认是序列模式,希望能有个逐K模式金字塔接口文件。也就是把序列模式删除,只保留逐模式
--  作者:admin
--  发布时间:2014/6/3 14:16:54
--  

 

请仔细看看自带的范例,重点看

 

//DLL公式的运行模式,系统系统调用该DLL时,告知公式系统该DLL公式运行在何种模式下
//返回值:   0本DLL运行序列模式 1本DLL运行逐周期模式
__declspec(dllexport) int WINAPI RUNMODE()
{
 //本DLL运行序列模式,如果运行逐K线模式将此函数返回1,此时每执行一个K线都是调用本接口一次。
// return 1;
 return 0;
}

 

 

 

//////

//计算均价,2个参数,参数1为待求均线的数据,参数2表示计算周期
//调用方法:
// "STOCKFUNC@MYMAVAR"(CLOSE-OPEN,5)

__declspec(dllexport) int WINAPI MYMAVAR(CALCINFO* pData)
{

 

上面这个范例上带了序列模式和逐K线模式的2种计算方法范例


--  作者:赫斯德
--  发布时间:2014/6/4 11:00:08
--  
带来两个我知道,但我只用逐K,哪个不要,哪个要,是把现在的注释起来,然后把注释的打开来吗
--  作者:赫斯德
--  发布时间:2014/6/4 11:01:30
--  
还有,前面那个


//计算收盘价的均价,一个常数参数,表示计算周期
//调用方法:
// "STOCKFUNC@MYMACLOSE"(5)

__declspec(dllexport) int WINAPI MYMACLOSE(CALCINFO* pData)
{
 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)
  {
   float fTotal;
   int i, j;
   for ( i = nPeriod-1; i < pData->m_nNumData; i++ )//计算nPeriod周期的均线,数据从nPeriod-1开始有效
   {
    fTotal = 0.0f;
    for ( j = 0; j < nPeriod; j++ )    //累加
     fTotal += pData->m_pData[i-j].m_fClose;
    pData->m_pResultBuf[i] = fTotal/nPeriod; //平均
   }
   return nPeriod-1;
  }
 }

 return -1;
}

 

 

 

这个不要动,序列和逐K都是用它,是吗