以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5) ---- 关于vba的重启机制 (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=78831) |
-- 作者:wukong_32 -- 发布时间:2015/5/20 21:36:37 -- 关于vba的重启机制 最近遇到一个问题: 就是在中午11:30收盘后至13:00开盘前,vba程序“偶尔”会死掉(不在执行了,但并不报错),重新手工重启vba后正常; 目前正在使用debugfile做一些记录,准备定位错误;
上面问题是偶尔出现的,没有办法测试。
我的问题是: 1、我是个vb初学者,请问金字塔中的vba程序,能否实现“自动”重启?比如,某个时间点; 2、我查到下面的帖子, http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=53828&authorid=0&page=0&star=1 使用定时killtimer,然后重新settimer,这种重新定义定时器,对已经死掉的sub调用,是否能起到重启的作用?
非常感谢!
|
-- 作者:王锋 -- 发布时间:2015/5/20 21:58:34 -- 自己是没办法做这些的,通常VBA死掉的原因是你的VBA程序自身的问题,比如对象数据加载没有释放,错误的调用了系统的对象,造成不断错误积累最后导致VBA引擎最终停止工作 |
-- 作者:wukong_32 -- 发布时间:2015/5/20 22:15:22 -- 说起数据加载释放,程序涨有如下语句:
Formula_1=MarketData.stkindi(...) value_1=Formula_1.GetBufData(..., index) 其中,GetBufData中的index取了历史数据(当前时点往前取数);
请问,是否需要释放? 假如需要的话,是使用DestoryHistoryData吗?
非常感谢这么晚还答复; [此贴子已经被作者于2015/5/20 22:16:39编辑过]
|
-- 作者:wukong_32 -- 发布时间:2015/5/20 22:43:24 -- stkindi中,使用了公式系统中的“技术指标”中的公式; 我看您在下面这个帖子的答复中,不建议这么做?是否因为效率问题? http://www.weistock.com/bbs/dispbbs.asp?BoardID=5&ID=57119 [此贴子已经被作者于2015/5/20 22:44:51编辑过]
|
-- 作者:王锋 -- 发布时间:2015/5/22 23:07:31 -- 如果公式中你频繁大量的调用功能计算,也是有可能导致问题的,建议你采用排除法,减少公式计算的数据量,或者排查一下公式里是不是用了某些东西了。
|