以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  金字塔高手请进,dll  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=79436)

--  作者:东方居士
--  发布时间:2015/6/5 15:32:55
--  金字塔高手请进,dll

改完之后在最新的金字塔32位版本上,依然无函数返回值,新手请教什么原因?

_declspec(dllexport)  int WINAPI MYDING(CALCINFO* pData)
{
       //运行在逐k线模式下,
 
   float xg,xd,yg,yd,zg,zd;//定义三根k线高低点的变量
   int i;
   bool top,bot;
  for ( i =0; i < pData->m_nNumData-1; i++ )
   {    if(i<2)
        *pData->m_pResultBuf=0;
    if(i>=2 )
    {
    xg=pData->m_pData[i-2].m_fHigh;
    xd=pData->m_pData[i-2].m_fLow;//逐k模式,每根k线,完全执行一遍程序,并且返回结果在缓冲区。


                yg=pData->m_pData[i-1].m_fHigh;
    yd=pData->m_pData[i-1].m_fLow;

    zg=pData->m_pData[i].m_fHigh;//当下行情价格
    zd=pData->m_pData[i].m_fLow;

    top= yg>xg && yd>xd && zg<yg && zd<yd;//顶分型满足的条件,中间k线是最高的

                bot= xg>yg && xd>yd && zg>yg && zd>yd;//底分型满足的条件,中间k线是最低的

    if(top)
    *pData->m_pResultBuf=1;
       
    if(bot)
       *pData->m_pResultBuf=-1;
    
    else *pData->m_pResultBuf=0;//逐k模式下的返回值,是单个值存储,而不是序列模式的数组。
    }
    
    
  } 
 
 return -1;  
}


--  作者:王锋
--  发布时间:2015/6/5 16:16:42
--  

你的代码逻辑紊乱,既不是序列模式,又不是逐K线模式的写法。

建议你多看看我们系统自带的范例,仔细看序列模式和逐k线2个版本的写法不同


--  作者:东方居士
--  发布时间:2015/6/8 22:25:41
--  

多谢,逐个k线模式的范例就一个,太少了


--  作者:王锋
--  发布时间:2015/6/8 23:06:52
--  

你先把那一个整明白原理就懂了,你目前的问题是就那一个范例你都没整明白