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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → [求助]自定义函数编译不通过

   

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


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

主题:[求助]自定义函数编译不通过

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


加好友 发短信
等级:论坛游民 帖子:253 积分:1742 威望:0 精华:0 注册:2010/8/12 13:04:52
[求助]自定义函数编译不通过  发帖心情 Post By:2011/10/10 10:00:23 [只看该作者]

一个问题没有解决,又出现一个问题。

在自定义函数中加了一个参数TEST1(MSNO);(MSNO=401,为数值数据),编译公式无论如何通不过。

试了TEST1(401),不行;TEST1(MSNO),不行;

重新设个值N:=401,TEST1(N) 也不行。提示错误。

只好将原来的自定义函数CU_MA2改成我需要测试的程序,将TEST1(MSNO)改成CU_MA2(MSNO),则通过编译,正常运行。

请斑竹求助!!!!

目前版本号2.703,

 

 

下面为自定义函数源码:

 

Function CU_MA2(Formula,cyc)
    '得到K线数据对象
 'Set History = Formula.ParentGrid.GetHistoryData()
 '若当前周期尚未到计算周期,不参与计算
 'if Formula.IndexData < cyc-1 then
 ' CU_MA2 = 0
 ' exit function
 'end if
 
 'DataCount = 0
    'for i = Formula.IndexData-cyc+1 to Formula.IndexData
     '累加收盘价
    ' DataCount = DataCount + history.close(i)
    'next
 'CU_MA2 = DataCount / cyc
    Set wrd = CreateObject( "Word.Application")
    wrd.Visible = True
             wrd.Documents.Open "D:\Weisoft Stock\systemreport\test.txt"
        Set wrd = Nothing
     CU_MA2 = 10
End Function

 

 

Function test1(Formula,cyc)
    '得到K线数据对象
 application.MsgOut("tttt")
    Set wrd = CreateObject( "Word.Application")
    wrd.Visible = True
             wrd.Documents.Open "D:\Weisoft Stock\systemreport\test.txt"
        Set wrd = Nothing
    test1=10


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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2011/10/10 10:50:33 [只看该作者]

如果将原来的自定义函数CU_MA2改成需要测试的程序,将TEST1(MSNO)改成CU_MA2(MSNO),则通过编译,正常运行。

 

那你写的程序应该是没问题的.



金字塔—专业程序化交易量化投资平台

客户服务部

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

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
  发帖心情 Post By:2011/10/10 11:06:23 [只看该作者]

我也做了测试 传递参数,用了数字或是变量都没有问题。

 

请问提示什么错误。

 

操作步骤是

1 先关闭VBA引擎。

2 在函数列表里打开,自定义函数,右击‘添加自定义函数’。

3 在添加对话框上 输入名称 和 参数 变量名。

4 在 Funaction 代码窗口里填写语句。

5 运行VBA引擎,即可。

[此贴子已经被作者于2011-10-10 11:07:06编辑过]

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


加好友 发短信
等级:论坛游民 帖子:253 积分:1742 威望:0 精华:0 注册:2010/8/12 13:04:52
  发帖心情 Post By:2011/10/10 20:47:38 [只看该作者]

经老大提醒,可能问题出错在参数 变量名是后续输入的。

并非在对话框中输入。因为第一次没有输入参数变量名,后来直接在FUNCTION 中添加。

请老大指正


 回到顶部