Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共4 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
yeyi 发表于: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

2楼
fly 发表于:2011/10/10 10:50:33

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

 

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

3楼
26327756l 发表于:2011/10/10 11:06:23

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

 

请问提示什么错误。

 

操作步骤是

1 先关闭VBA引擎。

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

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

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

5 运行VBA引擎,即可。

[此贴子已经被作者于2011-10-10 11:07:06编辑过]
4楼
yeyi 发表于:2011/10/10 20:47:38

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

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

请老大指正

共4 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03320 s, 2 queries.