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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 调用vba自定义函数时,内存消耗极快

   

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


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

主题:调用vba自定义函数时,内存消耗极快

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


加好友 发短信
等级:论坛游侠 帖子:236 积分:0 威望:0 精华:0 注册:2014/5/24 15:42:20
调用vba自定义函数时,内存消耗极快  发帖心情 Post By:2016/4/1 14:20:06 [只看该作者]

使用的是后台预警,监控期货主力合约和股票主要指数,一共57个品种,1、3、5、10、15、30、60分钟和1日周期,
使用指定数量500刷新计算,固定时间间隔1秒,
开始预警不到五分钟金之塔占用内存8G

vba代码是

Function getBoDuan4(Formula,openArr,highArr,lowArr,closeArr,dateArr,timeArr,macdArr,macdDisArr)
    '系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
    getBoDuan4=0
    arrLen = ubound(openArr)
    dim rtnVal
    'redim rtnVal(arrLen*6)
    
     getBoDuan4 = rtnVal
End Function

pel代码是

WARNING_DISABLE:6; 

arrayLen:=ubound(close);

diff1:= EMA(CLOSE,S) - EMA(CLOSE,P);  
dea1:= EMA(diff1,M); 
macd1:=2*(diff1-dea1);  
macd_not_dis:barslast(macd1*ref(macd1,1) <=0),nodraw;

boduan:=boduanTmp+1;
tmp0:=boduan*3+1;
tmp1:= boduan * (boduan-1)/2;
VARIABLE:flag[boduan]=0;
VARIABLE:dateArr[boduan]=0;
variable:timeArr[boduan]=0;
variable:boHighDArr[boduan]=0;
variable:boHighTArr[boduan]=0; 
variable:boLowDArr[boduan]=0; 
variable:boLowTArr[boduan]=0;
variable:boduanArr[boduan*11]=0;

boduanArr:=getBoDuan4(open,high,low,close,date,time,macd1,macd_not_dis),nodraw,colorwhite;

signal:0,nodraw,colorwhite;

参数boduanTmp为8,P、S、M随意。序列模式。

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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/4/1 14:25:28 [只看该作者]

使用排除法试试,将 getBoDuan4 这个函数的调用注释掉呢?



金字塔—专业程序化软件提供商

金字塔-技术部

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

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
microsoft
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:236 积分:0 威望:0 精华:0 注册:2014/5/24 15:42:20
  发帖心情 Post By:2016/4/1 14:29:41 [只看该作者]

不调用自定义函数不会有这个问题,但是自定义函数已经删除得没什么功能了,还是会出现这种情况

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


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2016/4/1 16:44:20 [只看该作者]

您好,感谢您的问题提交,下个升级版本我们将修复该问题


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


加好友 发短信
等级:论坛游侠 帖子:236 积分:0 威望:0 精华:0 注册:2014/5/24 15:42:20
  发帖心情 Post By:2016/4/1 17:07:44 [只看该作者]

翘首以待,十分感谢

 回到顶部