多线程编程不是你想象的那么简单,需要涉及到各个线程的独立运行,中间还要对共享的内存和操作做好保护防止冲突,VBA作为弱语言主要目标客户是对编程不是那么精通的用户,因此无法提供多线程的操作,如果你有这种需求,你可以考虑在C++下用金字塔提供的接口进行多线程编程。
从你的截图上来看,效率不高不全是多线程的问题,初步判断你的代码应该是大量的调用了Stkinidi函数,如果你的PEL公式编写的没有效率的话,再多的线程也是无用的,建议你从下面2点来解决问题:
1,将PEL公式修改为序列模式运行,因为序列模式本身就是多线程工作状态。
2,参考 有关PEL编程时,若干注意效率问题的汇总,用户必看 http://www.weistock.com/bbs/dispbbs.asp?boardid=16&Id=74267 教程,优化PEL公式代码。
3,如果你的策略只是作为选股使用,Stkindi函数有个参数是可以控制计算的数据量,尽量少的使用少的数据也会大大提升运行速度