欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 请教:打开K线图时反复调用 ,不知是什么问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4021人关注过本帖树形打印复制链接

主题:请教:打开K线图时反复调用 ,不知是什么问题

帅哥哟,离线,有人找我吗?
dnt00193
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:52 积分:235 威望:0 精华:0 注册:2013/4/2 13:48:21
请教:打开K线图时反复调用 ,不知是什么问题  发帖心情 Post By:2013/4/11 16:10:48 [只看该作者]

 这个是在fmlDLL的范例上直接改的 ,逐K线模式调用

__declspec(dllexport) int WINAPI Mypolyfit(CALCINFO* pCALCINFO)
{
   
    if(pEng==NULL)
    {
        if(!(pEng=engOpen(NULL)))
        {
            MessageBox(NULL,"无法打开引擎","错误!",MB_OK);
            return -1;
        }
        else
        {
            MessageBox(NULL,"成功!","恭喜!",MB_OK);
            ;
        }
    }
    else// if ...  每K只执行一次?
    {
       
        int i;
        static float count[30];
        static float price[30];
       
        for(i=0;i<=29;i++)
        {
            count[i]=pCALCINFO->m_dwBarpos-(29-i);
            price[pCALCINFO->m_nNumData-1-i]=(pCALCINFO->m_pData[pCALCINFO->m_nNumData-1-i].m_fLow+ \
                pCALCINFO->m_pData[pCALCINFO->m_nNumData-1-i].m_fHigh)/2;
        }
       
        mxArray *p_X=mxCreateDoubleMatrix(30,1,mxREAL);
        mxArray *p_Y=mxCreateDoubleMatrix(30,1,mxREAL);
        mxArray *p;//多项式拟合的结果:多项式的系数矩阵
       
       
        //cout<<"创建矩阵完毕"<<endl;
       
        memcpy((void *)mxGetPr(p_X),(void *)count,30*sizeof(float));
        memcpy((void *)mxGetPr(p_Y),(void *)price,30*sizeof(float));
        engPutVariable(pEng,"p_X",p_X);
        engPutVariable(pEng,"p_Y",p_Y);
        engEvalString(pEng,"p=polyfit(p_X,p_Y,2)");
        p=engGetVariable(pEng,"p");
        engEvalString(pEng,"p_Y=polyval(p,p_X,2)");   
        engEvalString(pEng,"plot(p_X,p_Y)");
        mxDestroyArray(p_X);
        mxDestroyArray(p_Y);
       
       
        //测试用
        /*
        engEvalString(pEng,"x=0:0.001:2*pi;");
        engEvalString(pEng,"y=sin(x);");    
        engEvalString(pEng,"plot(x,y)");
        */
       
        for(i=29;i>5;i--)
        {
            ;
        }
       
        *pCALCINFO->m_pResultBuf=2400;
    }
   
    return 1;
}

公式那边调用是 stockfunc@v();


点击“股指XXX”后,显示的matlab画图会高频不断刷新,不知道是怎么回事?不是一根K线才调用一次本程序吗 ?\

还有 price[pCALCINFO->m_nNumData-1-i]=(pCALCINFO->m_pData[pCALCINFO->m_nNumData-1-i].m_fLow+ \
                pCALCINFO->m_pData[pCALCINFO->m_nNumData-1-i].m_fHigh)/2;  似乎调不到K线数据,不知道怎么回事 ??????????

 回到顶部
帅哥哟,离线,有人找我吗?
rushtaotao
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 czt
等级:蜘蛛侠 帖子:1445 积分:6114 威望:0 精华:3 注册:2012/1/16 10:31:19
  发帖心情 Post By:2013/4/11 16:24:46 [只看该作者]

稍后待开发回复

 回到顶部
帅哥哟,离线,有人找我吗?
dnt00193
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:52 积分:235 威望:0 精华:0 注册:2013/4/2 13:48:21
  发帖心情 Post By:2013/4/11 17:16:22 [只看该作者]

 主要问题是取不到数据

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2013/4/11 18:18:02 [只看该作者]

DLL公式的逐K线模式有个专门的函数开关,不知道你是否有打开。

此外,你的描述我看不懂,可否把思路想清楚了,文字描述的更清楚一些



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部