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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 为何公式调用VB自定义函数会报错呢?

   

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


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

主题:为何公式调用VB自定义函数会报错呢?

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


加好友 发短信
等级:超级版主 帖子:18691 积分:0 威望:0 精华:0 注册:2013/7/15 9:22:16
为何公式调用VB自定义函数会报错呢?  发帖心情 Post By:2018/5/3 9:07:51 [只看该作者]

为何公式调用VB自定义函数会报错呢?

Function daxiao(Formula,x,y)
    '系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
    daxiao=0
    if x>y then
      daxiao=x
    else
      daxiao=y
    end if    
End Function

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

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

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2018/5/3 9:24:14 [只看该作者]

公式运行在逐k模式下不要在序列模式下


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


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2018/5/3 10:05:30
  发帖心情 Post By:2018/5/3 10:19:31 [只看该作者]

公式改为在逐K模式下运行,这次是没有报错,可运行结果是“0”图片点击可在新窗口打开查看


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2018/5/3 10:33:48 [只看该作者]

vba引擎要启动
图片点击可在新窗口打开查看此主题相关图片如下:v3un_9eej5squ~p$pgtfw.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2018/5/3 10:05:30
  发帖心情 Post By:2018/5/3 10:54:15 [只看该作者]

谢谢!上文所提问题已解决。
有一个自定义biggest函数,以起点和终点日期为参数设定一个查询时间段,函数的目的是获取这个时间段的股价最高值
现在公式里逐K模式调用这个自定义函数 tt:biggest("2017/12/05","2018/03/05"),结果公式编译显示错误:函数biggest所调用的参数与预定义参数不符
请问是不是自定义函数的参数不能为时间?

[此贴子已经被作者于2018/5/3 10:56:13编辑过]

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


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

是的不行


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


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2018/5/3 10:05:30
  发帖心情 Post By:2018/5/3 11:14:09 [只看该作者]

老师,那请问如果想通过调用自定义函数形式查询某时间段股价高点该咋办呢?有好的办法没?还是说非得通过VBA过程得出高点值之后进行传导?
[此贴子已经被作者于2018/5/3 11:15:38编辑过]

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


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

我比较认同一句话,如无必要使用最简单最容易理解的那一组方案

你这个做法用pel好做,不是很清楚你一定要用自定义函数的道理

如果按照你这个做法需要把时间当成字符串传入,然后你还要去研究下面这个数据对象然后在这个对象下根据日期去获取id序号然后再写

我认为如果学习自己可以考虑,如果是为了达到某个效果实在不必要

HistoryData 对象

[此贴子已经被作者于2018/5/3 13:11:32编辑过]

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


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2018/5/3 10:05:30
  发帖心情 Post By:2018/5/3 13:19:02 [只看该作者]

谢谢老师点拨!大道至简至易!懂了

 回到顶部