以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  VBA怎样调用公式函数?  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=60347)

--  作者:wsanle
--  发布时间:2013/12/26 10:46:39
--  VBA怎样调用公式函数?
请教版主:我想在VBA中调用TR,MA,WMA系统自带的公式函数,实现MA(TR,N)和WMA(TR,N)功能,调用这几个公式进行计算,不需要在图表上显示。查询帮助文档,好像只能用VBA的Formula对象,利用自定义函数进行交互,要即使这样,也不能在自定义函数中,调用MA,WMA,TR等系统自带的公式函数,只能利用自定义函数的形式,按VBA的规则,再定义一个类似于MA、WMA、TR等公式实现的功能的函数,再通过Formula对象调用,这样理解正确吗?我的问题是:1、VBA能否直接调用金字塔系统自带的公式函数WMA等? 2、如果自定义函数,能否在自定义函数中调用公式函数?3、如果前两者都不行,是否VBA只能利用自定义函数再编制一个函数实现MA、WMA公式功能的自定义函数这一种方法了,还有别的什么方式?谢谢!
--  作者:guotx2010
--  发布时间:2013/12/26 11:54:48
--  
sCode="IF01"
sMarket="ZJ"
sPolicyName="你的公式名称"
iPeriod=1 \'周期

Set Formula = marketdata.STKINDI(sCode,sMarket,sPolicyName,0,iPeriod)   \'取策略
\'0 1分钟 1 5分钟 2 15分钟 3 30分钟 4 60分钟 5日线 6周线 7月线 8年线 9多日线 10分笔成交 11多小时线 12多秒线 13多分钟线 14季度线 15半年线 16节气线 17 3分钟 18 10分钟 19 多笔线
iFlag=Formula.GetBufData("Cc",Formula.DataSize-1)   \'Cc是公式中的输入变量