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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 请教斑竹,金字塔软件提供的逐k线模式案例代码用dll调用不显示???

   

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


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

主题:请教斑竹,金字塔软件提供的逐k线模式案例代码用dll调用不显示???

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


加好友 发短信
等级:新手上路 帖子:9 积分:0 威望:0 精华:0 注册:2015/5/12 18:56:28
请教斑竹,金字塔软件提供的逐k线模式案例代码用dll调用不显示???  发帖心情 Post By:2015/6/11 20:18:57 [只看该作者]

软件代码是不是有问题,做成dll后,在前台图表公式调用不显示!

如果有误,请金字塔的软件开发人员提供个正确的案例!

逐k模式下已经设置了。本人新手找不出问题在哪里?

请各路大侠指出,免得后学者走许多弯路!

金字塔软件案例代码如下:

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

 if(pData->m_pfParam1 && pData->m_pfParam2)
 {
  //对于逐K线模式,由于传递数据都是数值,因此需要一个数组用来保存传递过来的参数,用来计算.
  //本例只是简单演示这个用法,如果用户在公式多次调用了接口,则会出现重复使用该变量导致计算出错
  //因此要根据情况做几个这种全局静态变量用于保存各种数据。
  static std::vector<double> arMaData;
  
  //第一个周期初始化数据
  if(pData->m_dwBarpos == 0)
  {
   arMaData.clear();
  }
  
  double dbData = *pData->m_pfParam1;

  //防止使用仅刷最后K线的反复刷新问题
  if(arMaData.size() >= pData->m_nNumData)
   arMaData[arMaData.size()-1] = dbData; //仅仅更新最后一个数据
  else
   arMaData.push_back(dbData);

  DWORD dwCyc = (DWORD) *pData->m_pfParam2;
  
  if(pData->m_dwBarpos < dwCyc-1)
  {
   //对于未到计算周期,返回无效数据
   return -1;
  }

  //先累加
  float fAdd = 0;
  for(DWORD i = pData->m_dwBarpos-(dwCyc-1); i <= pData->m_dwBarpos; i++)
  {
   fAdd += arMaData[i];
  }

  *pData->m_pResultBuf = fAdd / dwCyc;
 }
 return 1;
}


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


加好友 发短信
等级:新手上路 帖子:9 积分:0 威望:0 精华:0 注册:2015/5/12 18:56:28
  发帖心情 Post By:2015/6/12 16:28:21 [只看该作者]

金子塔就这一个逐k模式的案例,而且还是错误的,不能输出结果。

简直就是奇葩!


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


加好友 发短信
等级:管理员 帖子:1516 积分:229 威望:0 精华:0 注册:2012/3/30 12:40:56
  发帖心情 Post By:2015/6/12 16:32:09 [只看该作者]

还有个调用模式函数,返回值要改成逐k线模式的才行

 回到顶部