以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  高级功能研发区  (http://222.73.7.161/bbs/list.asp?boardid=5)
----  请问,在VBA中引用公式结果,只能用Formula对象  (http://222.73.7.161/bbs/dispbbs.asp?boardid=5&id=4917)

--  作者:liwei_bj
--  发布时间:2011/1/20 16:18:31
--  请问,在VBA中引用公式结果,只能用Formula对象
在图表中引用吗?下面是帮助里的例子 Set Grid = Technic.GetGridByName("Main") Set Formula = Grid.GetFormulaByIndex(1) A =Formula.GetBufData("MA1",1) 只能打开Technic框架,然后取得公式的值,这样的话要检测多个品种非常慢并且浪费资源,能不能用其他方法取得公式的值? 帮助里的:1、通过自定义函数,系统会每个周期调用自定义函数,然后通过传送的FORMULA对象交互 能不能给个例子呢?多谢了
--  作者:admin
--  发布时间:2011/1/20 17:38:11
--  

MarketData 对象

Stkindi 方法

引用任意品种任意周期的任意指标输出,返回对象Formula

Stkindi(Code, Market, IndiName, Co, Cyc)

Code     品种代码

Market   市场标识

IndiName 为指标公式调用,格式为 “指标名称(参数)”, 参数选项可以不填,按系统默认处理

Co       为坐标轴类型 0交易日坐标 1自然日 2交易交易时间

Cyc      周期类型,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 多笔线

返回值    返回Formula对象

示例
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指标线数值


--  作者:guotx2010
--  发布时间:2011/1/20 22:11:54
--  

我也需要这样的东西,我现在的做法是使用框架,分别放1分和5分图,将数据传送到VBS后台来处理。

如果我需要取最后一个周期的数据呢?怎么表示?

 

formula.datasize-1吗?

 

如果我需要取公式中的某一个指标的值,又该怎么取呢?
比如:我的公式名称为:我的公式,里面有一个变量
V1:=llv(c,30),我现在需要在GetBufData得到这个值,
该怎么写?

是不是
Formula.GetBufData("我的公式.V1",formula.datasize-1)?

 

[此贴子已经被作者于2011-1-20 22:39:58编辑过]