以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 高级功能研发区 (http://222.73.7.161/bbs/list.asp?boardid=5) ---- VBA取图表的参数 (http://222.73.7.161/bbs/dispbbs.asp?boardid=5&id=100768) |
|
-- 作者:黄金精算师 -- 发布时间:2016/7/11 20:37:43 -- VBA取图表的参数 你好,VBA 取图表上写的一个参数时,因为我的是套利,取不出来 sCode是合约,但是我的是套利,没有合约,这个写什么可以取到图表上的这个数据呢 我能不能,什么都不限制,只取图表中KKK的值 程序如下 Sub RunReportData() sPolicyName="示范策略"
iPeriod=0
Set Formula = marketdata.STKINDI(sCode,sMarket,sPolicyName,0,iPeriod)
\'取策略
iFlag=Formula.GetBufData("Flag",Formula.DataSize-1)
nFlagPrice=Formula.GetBufData("FlagPrice",Formula.DataSize-1)
iBars=Formula.GetBufData("Bars",Formula.DataSize-1)
iKKK=Formula.GetBufData("KKK",Formula.DataSize-1) \'
这是 读取图表策略
Application.MsgOut "iKK:"&iKKK End Sub |
|
-- 作者:admin -- 发布时间:2016/7/12 11:46:42 -- 不明白你的问题描述,你是想从图表中读取公式的数值? |
|
-- 作者:黄金精算师 -- 发布时间:2016/7/12 17:25:43 -- 我是一个套利的图表,我在图表里写的一个数据,VBA想读取这个数据,但是上面的那句是没有办法读到, 他读到的,是他指定的品种, 我要的是,我写的数据,如KKK:HOLDING;这样持仓就写到KKK里面,但是,VBA并不会了到策略里的KKK 实例,运行时,KKK:HOLDING //KKK 等于,-1 但VBA,所调用的是KKK是1,因为VBA指定了品种,他不会去取当前图表的数据
|
|
-- 作者:admin -- 发布时间:2016/7/12 17:43:47 -- 读取图表的公式数据不是你这么的用法,请参考下面的范例
示例: Sub Test() |
|
-- 作者:黄金精算师 -- 发布时间:2016/7/12 18:12:51 --
|
|
-- 作者:黄金精算师 -- 发布时间:2016/7/12 18:37:15 -- 读取图表的公式数据不是你这么的用法,请参考下面的范例
示例: ----------------------------------------------------- 这个例子这么复杂呀,我不会编程,有没有完整的例子给一个, 还有不明的想问一下,为什么要建EXL呀,不能直接读取吗? 像这个,Set Formula = marketdata.STKINDI(sCode,sMarket,sPolicyName,0,iPeriod) \'取策略 这里只要把合约,时间什么指定去掉去掉就行 |
|
-- 作者:黄金精算师 -- 发布时间:2016/7/12 18:48:18 -- 图表策略中有一个叫全局变量的,EXTGBDATASET( , )这个VBA可以读取吗? 图表写到EXL不知道会不会影响速度什么的,能不能读取TXT文件呢,图表写出TXT文还是很容易的,只是VBA读取不会, |
|
-- 作者:jinn -- 发布时间:2016/7/13 9:46:08 -- excel读写都比较慢 |
|
-- 作者:黄金精算师 -- 发布时间:2016/7/13 17:19:04 -- 要不,指导一下这个,EXCEL怎么创建可以吗 \'创建EXCEL对象
Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True objExcel.Workbooks.Add |
|
-- 作者:yukizzc -- 发布时间:2016/7/17 12:39:54 -- excel只是范例,你不需要去关注。 只需要看这一部分就可以了,取得图表对应的公式对象,然后对这个对象取得输出值 Set Grid = Technic.GetGridByName("Main") Set Formula = Grid.GetFormulaByIndex(1) application.msgout Formula.GetBufData("MA1", Formula.DataSize-1) |