以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5) ---- VBA能否多线程编程? (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=155712) |
-- 作者:道飞 -- 发布时间:2017/7/5 13:22:04 -- VBA能否多线程编程?
此主题相关图片如下:qq截图20161019231852.jpg |
-- 作者:王锋 -- 发布时间:2017/7/5 13:47:23 -- 多线程编程不是你想象的那么简单,需要涉及到各个线程的独立运行,中间还要对共享的内存和操作做好保护防止冲突,VBA作为弱语言主要目标客户是对编程不是那么精通的用户,因此无法提供多线程的操作,如果你有这种需求,你可以考虑在C++下用金字塔提供的接口进行多线程编程。
从你的截图上来看,效率不高不全是多线程的问题,初步判断你的代码应该是大量的调用了Stkinidi函数,如果你的PEL公式编写的没有效率的话,再多的线程也是无用的,建议你从下面2点来解决问题: 1,将PEL公式修改为序列模式运行,因为序列模式本身就是多线程工作状态。 2,参考 有关PEL编程时,若干注意效率问题的汇总,用户必看 http://www.weistock.com/bbs/dispbbs.asp?boardid=16&Id=74267 教程,优化PEL公式代码。 3,如果你的策略只是作为选股使用,Stkindi函数有个参数是可以控制计算的数据量,尽量少的使用少的数据也会大大提升运行速度 |
-- 作者:无所畏惧 -- 发布时间:2017/7/5 15:29:12 -- 比如我在15分钟周期要使用日MACD,要使用年线,要使用上市天数,要使用本月的最低价,来过滤,不使用引用怎么行啊 |
-- 作者:王锋 -- 发布时间:2017/7/5 16:00:05 -- 请认真看一下上面帖子我给您看的链接,里面有解决方案
此主题相关图片如下:qq截图20161019231852.jpg [此贴子已经被作者于2017/7/5 16:00:14编辑过]
|