以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  调用自定义函数CU_MA1示例,运行提示下标越界?  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=9811)

--  作者:ma3yue
--  发布时间:2012/2/3 10:58:14
--  调用自定义函数CU_MA1示例,运行提示下标越界?

自编公式:(序列模式)

MA1: CU_MA1(C, 30);

起初没有数据返回,跟踪发现在下面判断后退出:

    If DataCount <> Formula.DataSize-1 Then
        Exit Function
    End If

将以上代码删除后,运行提示:编译器错误9,下标K越界。

 

 

之后,在自定义函数CU_MA1中,加入调试代码如下:

Call MsgBox("DataCount ="+ CStr(DataCount) +"; Formula.DataSize-1 =" + CStr(Formula.DataSize-1),, "Info!")

结果显示:DataCount = 962; Formula.DataSize-1 = 980

两者相差18?

 

自定义函数中的循环边界应该以DataCount为准?

[此贴子已经被作者于2012-2-3 11:01:41编辑过]

--  作者:26327756l
--  发布时间:2012/2/3 11:28:31
--  
问题正在查看
--  作者:26327756l
--  发布时间:2012/2/3 13:34:40
--  
不知你使用的是那个合约 我使用沪铜输出这两个参数 数据是一致的 请你在仔细检查一下
--  作者:ma3yue
--  发布时间:2012/2/3 17:42:46
--  

谢谢提示!总算找到问题的原因了,我选择了主图末端空余18周期,图片点击可在新窗口打开查看