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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → [求助]VBA中自定义函数中怎么找到设置参数的位置呢?

   

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


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

主题:[求助]VBA中自定义函数中怎么找到设置参数的位置呢?

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


加好友 发短信
等级:论坛游民 帖子:108 积分:0 威望:0 精华:0 注册:2016/12/13 12:08:16
[求助]VBA中自定义函数中怎么找到设置参数的位置呢?  发帖心情 Post By:2017/3/28 15:37:19 [只看该作者]

请截图指教如下疑问:

1."添加自定义函数"对话框——这个怎么能找到?
2.在参数位置输入"CYC"后单击确定——怎么能找到输入参数的位置呢?

自定义函数的格式

每个自定义函数都会有一个Formula对象,即使没有参数的自定义函数也至少有这么一个对象参数存在。每次公式系统执行遇到自定义函数的时候,会不断的依次调用它,直至整个公式解释完毕。

示例

创建一个计算CYC日收盘价移动平均线的自定义函数,CUSTOM_MA2(CYC),"添加自定义函数"对话框上名称输"CUSTOM_MA2",在参数位置输入"CYC"后单击确定,然后在随即弹出的VBS编辑器界面上,输入下面代码:

'计算指定周期长度的收盘价均价

Function CUSTOM_MA2(Formula,cyc)
    '得到K线数据对象

Set History = Formula.ParentGrid.GetHistoryData()

'若当前周期尚未到计算周期,不参与计算

if Formula.IndexData < cyc-1 then  //ma(close,10)

 CUSTOM_MA2 = 0

  exit function

end if

DataCount = 0    

 for i = Formula.IndexData-cyc+1 to Formula.IndexData

 '累加收盘价

     DataCount = DataCount + history.close(i)

    Next

CUSTOM_MA2 = DataCount / cyc

End Function

以上代码输入完毕后按下 Shift+F5启动VBS教本运行,然后就可以在公式编辑中使用我们刚刚创建的自定义函数了.  


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


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


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


加好友 发短信
等级:论坛游民 帖子:108 积分:0 威望:0 精华:0 注册:2016/12/13 12:08:16
  发帖心情 Post By:2017/3/28 16:09:55 [只看该作者]

“函数”解释定义区 在什么位置呢?

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


加好友 发短信
等级:论坛游民 帖子:108 积分:0 威望:0 精华:0 注册:2016/12/13 12:08:16
  发帖心情 Post By:2017/3/28 16:29:36 [只看该作者]

疑问没有解决,请大师继续帮助啊

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


加好友 发短信
等级:论坛游民 帖子:108 积分:0 威望:0 精华:0 注册:2016/12/13 12:08:16
  发帖心情 Post By:2017/3/28 16:32:24 [只看该作者]

1、在公式编辑器界面中,鼠标在“函数”解释定义区单击右键,然后选择“添加自定义函数”。

找不到上面所说的位置啊,在哪里啊?找啊找啊,找不到

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


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

你有用过pel吗?

如果用过应该知道公式编写模型的界面吧,在编辑区打开函数列表


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


加好友 发短信
等级:论坛游民 帖子:108 积分:0 威望:0 精华:0 注册:2016/12/13 12:08:16
  发帖心情 Post By:2017/3/28 17:06:35 [只看该作者]

老师,我用过pel,但我还是找不到啊,请截图说明一下吧,谢谢

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


加好友 发短信
等级:论坛游民 帖子:108 积分:0 威望:0 精华:0 注册:2016/12/13 12:08:16
  发帖心情 Post By:2017/3/28 17:08:30 [只看该作者]

按照您的指示,找啊找啊,找的好累,但就是找不到啊,请截图指明吧,谢谢

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


加好友 发短信
等级:论坛游民 帖子:108 积分:0 威望:0 精华:0 注册:2016/12/13 12:08:16
  发帖心情 Post By:2017/3/28 17:16:25 [只看该作者]

我的天啊,终于找到了,你们金字塔公司就不能把教程写清楚点啊????????!!!!!!!!!
在"公式编辑器"里的"查看"菜单里的"函数列表"菜单_或直接按F6,在函数列表里有"自定义函数"

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


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

这个是属于基本pel查找函数列表的范畴,一般参加金字塔网校培训的新人,我们都是会重点讲解这一部分的

你对pel的函数查找不知道,那可能你先天有经验所以一些基础的使用上没有学习吧


 回到顶部