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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 示例dll函数不能正常显示效果

   

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


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

主题:示例dll函数不能正常显示效果

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


加好友 发短信
等级:新手上路 帖子:8 积分:0 威望:0 精华:0 注册:2017/12/7 11:06:34
示例dll函数不能正常显示效果  发帖心情 Post By:2017/12/7 11:22:53    Post IP:180.173.155.72[只看该作者]

请教,

我使用软件自带的DLL示例,形成DLL文件,然后放入到软件下面目录的FmlDLL文件夹中,然后在软件中编辑指标,输入:D:"STOCKFUNC@MYMACLOSE"(5);主图叠加,序列计算。编译成功,双击这个指标后,主图上没有出现5日均线,怎么回事?


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2017/12/7 13:03:32    Post IP:180.169.30.6[只看该作者]

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

 

程序里return0表示用在序列模式下,你注释掉1的返回

 

另外确认下自己金字塔是32还是64位,你的dll编译也必须配套编译32还是64


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


加好友 发短信
等级:新手上路 帖子:8 积分:0 威望:0 精华:0 注册:2017/12/7 11:06:34
  发帖心情 Post By:2017/12/7 13:33:40    Post IP:180.173.155.72[只看该作者]

您说到的几个问题

1、运行模式里面,return 1是注释掉的,也就是序列模式,这个示例就是这样,原封不动,都没有改

2、金字塔是32位的,编译器是mingw32-g++,是32位的

不知道是什么问题


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2017/12/7 13:43:11    Post IP:180.169.30.6[只看该作者]

你用我这边的编译吧

你那里编译如果有问题不知道什么原因了


图片点击可在新窗口打开查看此主题相关图片如下:duil0xm9@`h2qj@0~fjm~c.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2017/12/7 13:47:59    Post IP:180.169.30.6[只看该作者]

这个dll
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:stockfunc.rar


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


加好友 发短信
等级:新手上路 帖子:8 积分:0 威望:0 精华:0 注册:2017/12/7 11:06:34
  发帖心情 Post By:2017/12/7 13:52:33    Post IP:180.173.155.72[只看该作者]

搞定了,的确是编译器的问题,我之前使用的是code blocks的编译器,换成vc++的编译器搞定,谢谢。

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


加好友 发短信
等级:新手上路 帖子:8 积分:0 威望:0 精华:0 注册:2017/12/7 11:06:34
  发帖心情 Post By:2017/12/7 16:22:48    Post IP:180.173.155.72[只看该作者]

示例里面的return nPeriod-1;和 return -1;有什么特别的意义吗?

以下是示例

__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;
}


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


加好友 发短信
等级:论坛游侠 帖子:212 积分:30 威望:0 精华:0 注册:2012/4/29 0:57:08
  发帖心情 Post By:2018/10/13 19:52:58    Post IP:223.149.238.190[只看该作者]

用dll引用函数,编译正常,运行在某些股票主图上正常,但是始终有某些股票显示错误:第N行,错误:解释错误

 

为了测试用了上面版主给的dll,引用函数编译正常,加载还是出现同样的如图问题,请版主帮忙确认下问题,感谢!

图片点击可在新窗口打开查看此主题相关图片如下:dll.png
图片点击可在新窗口打开查看

金字塔指标代码

TESE:"STOCKFUNC@MYMACLOSE"(5);

 

加载正常实例:


图片点击可在新窗口打开查看此主题相关图片如下:ok1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:ok2.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:ok3.png
图片点击可在新窗口打开查看

 

加载报错实例:

图片点击可在新窗口打开查看此主题相关图片如下:error1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:error2.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:error3.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:论坛游侠 帖子:212 积分:30 威望:0 精华:0 注册:2012/4/29 0:57:08
  发帖心情 Post By:2018/10/13 22:01:19    Post IP:223.149.238.190[只看该作者]

版本:32位 V4.81

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


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2018/10/13 22:28:04    Post IP:58.34.124.110[只看该作者]

你是用的自带的范例未做任何修改然后运行出现的错误的?
这种错误一般是你的C++代码里出现了异常导致的,常见问题是无效指针或数组越界,建议你代码里加上日志调试一下看看

 回到顶部
总数 16 1 2 下一页