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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 测试CU_MA1和CU_MA2时提示编译器错误'6'溢出

   

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


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

主题:测试CU_MA1和CU_MA2时提示编译器错误'6'溢出

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


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2013/6/10 11:14:47
测试CU_MA1和CU_MA2时提示编译器错误'6'溢出  发帖心情 Post By:2015/9/1 10:34:21 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:cuma2.png
图片点击可在新窗口打开查看
在序列模式下运行
XULIE:CU_MA1(CLOSE,5),COLORRED;

报溢出错误后黄色光标停留在        For k = i-(Cyc-1) To i

在逐线模式下运行
ZHUKX:CU_MA2(5),COLORBLUE;

报溢出错误后黄色光标停留在       for i = Formula.IndexData-cyc+1 to Formula.IndexData


如附件所示,请看下是哪方面原因?

[此贴子已经被作者于2015/9/1 10:35:26编辑过]

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


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2013/6/10 11:14:47
  发帖心情 Post By:2015/9/1 10:39:25 [显示全部帖子]


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


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2013/6/10 11:14:47
  发帖心情 Post By:2015/9/1 10:43:53 [显示全部帖子]

附件上传及其难用


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


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


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2013/6/10 11:14:47
  发帖心情 Post By:2015/9/1 11:36:31 [显示全部帖子]

因为报错,这两个函数我改动过但最后又改回来了。版主能发它们的源码我比对下看看吗

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


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2013/6/10 11:14:47
  发帖心情 Post By:2015/9/1 13:06:35 [显示全部帖子]

重装的话是不是只要把\Weisoft Stock\Setting\文件夹备份,装完再还原就可以了?

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


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2013/6/10 11:14:47
  发帖心情 Post By:2015/9/1 14:56:37 [显示全部帖子]

重装后错误依旧 


'计算逐周期模式下指定周期长度的收盘价均价
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
End Function

'计算序列模式下指定周期长度的收盘价均价
Function CU_MA1(Formula,CLOSE,CYC)
   CU_MA1=0

    '防止公式逐周期模式时调用
    If Formula.WorkMode = 0 Then
        Exit Function 
    End If

    'CLOSE数组数据长度一定会与Formula.DataSize-1相等
    DataCount = UBound(CLOSE)
    If DataCount <> Formula.DataSize-1 Then
        Exit Function
    End If

    '定义一个计算返回的数组
    Dim ResultMa
    Redim ResultMa(DataCount)

    For i = Cyc-1 To Formula.DataSize-1
        Count = 0
        For k = i-(Cyc-1) To i
            Count = Count + CLOSE(k)
        Next
        ResultMa(i) = Count / Cyc
    Next

    '返回一个计算完毕的均线数组
    CU_MA1 = ResultMa
End Function


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


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2013/6/10 11:14:47
  发帖心情 Post By:2015/9/2 11:34:13 [显示全部帖子]

昨天又卸载了一遍软件,把安装目录下残留的文件全部删除,重装后从函数列表-自定义函数逐个添加我自己的函数,覆盖到系统自动产生的Function框架代码上,再测试就不报错了!推测可能是最初我添加了一个MyModule模块存放自己的函数,但是导出自定义函数时会提示找不到代码,于是把MyModule里的直接粘贴到了Function里。是否因同步代码产生了此问题,版主们测试下吧

 回到顶部