以下是引用王锋在2012-1-11 13:05:22的发言:
VBA不支持多线程,但是你可以通过定时器的方式,通过定义不同的定时器,来实现多线程方式的运行。
能否给个链接,举例来说明一下。
通过VBA来控制公式系统的运行,效率方式并不会得到提高,反而会下降,如果你是在不追求速度的情况,可以考虑使用STKINDI函数来控制公式的运行,取到计算结果后,用VBA再来下单,
示例
Set Formula = marketdata.STKINDI("if08","zj","ma(5,10,20,60)",0,0) '调用中金所IF08合约的1分钟的MA移动平均线指标,参数依次是5,10,20,60
mgbox Formula.GetBufData("ma3",924) '显示第925根k线上的MA3指标线数值
不知道怎么讲,我的信号只要求每1分钟(或者每5、15分钟)级别轮询一次,需要的数据也就是前一个K线的(high,low,close,open,一条我设定的MA数据,和一个我修改过的公式指标内的两个小指标数据) 就OK了, 然后发信号给我前台的GUI,GUI再根据上面一些按钮的设置,判断要不要开始委托,判断信号我希望在1到2秒就完了,因为委托到成交也需要2到3秒钟时间。委托也不是个简单开仓,而是分获利了结和开新仓的(两者内部逻辑不同),而且还要手动修改委托价格。开完新仓成交以后, 止损和止盈要马上开始运行,直到或者亏损退出或者盈利退出。根据我提供的需求,斑竹你觉得我应该如何设计比较合适?
[此贴子已经被作者于2012-1-11 14:44:20编辑过]