以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5) ---- vba开发的效率问题 (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=9648) |
-- 作者:sxpms -- 发布时间:2012/1/12 10:17:53 -- vba开发的效率问题 近期学了点VBA知识,希望得到VBA开发效率方面的帮助: 1、将系统编写为常规公式,使用VBA的定时器功能,通过GetBufData , Stkindi方法在VBA中直接调用指标结果就行了。 优点是:修改系统直接修改公式系统就可以了,只要不修改公式名称和输出指标名称,VBA是可以通用的。系统测试也比较方便。 缺点是:效率不高。用于高频有几秒延时。 2、直接在在VBA中调用系统的内置数组变量,如C,H,V等,然后直接编写程序,利用循环语句控制指标不停刷新。 优点是:效率高,可用于高频。 缺点是:编写程序麻烦,测试麻烦。 请高手解惑! |
-- 作者:王锋 -- 发布时间:2012/1/12 10:28:20 -- 理解的基本正确 |
-- 作者:guotx2010 -- 发布时间:2012/1/12 16:10:32 -- Set Formula = marketdata.STKINDI(ActiveCode,ActiveMarket,"股指5F",0,1) application.MsgOut Formula.GetBufData("IfCc5",Formula.DataSize-1) 我参照上面的方法取公式中的IfCc5这个虚拟持仓量的值,显示24,应该有问题吧,虚拟持仓变量的值只有-1,0,+1三个的,怎么取出来24了呢,这是5分钟周期的值,1F周期返回31也不在取值范围的。 |