以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  VBA STKINDI 的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=170150)

--  作者:deni977
--  发布时间:2019/5/28 13:39:26
--  VBA STKINDI 的问题

sPolicyName = "IF2019A1" \'策略名称
iPeriod=13 \'13多分钟,2分钟
Set Formula = marketdata.STKINDI("IF00","ZJ",sPolicyName,0,iPeriod,2,2300)  \'IF300 
CounTmp = Formula.DataSize-1
TRDKCC   = Formula.GetBufData("ccc",CounTmp) \'取得PEL策略持仓
application.MsgOut cdate(time) & ",IF00 pel持仓:" & TRDKCC

sPolicyName = "RB2019A1" \'策略名称
iPeriod=0 \'0,1分钟
Set Formula = marketdata.STKINDI("RB00","SQ",sPolicyName,0,iPeriod,0,2300)   \'RB00 
CounTmp = Formula.DataSize-1
TRDKCC   = Formula.GetBufData("ccc",CounTmp) \'取得PEL策略持仓
application.MsgOut cdate(time) & ",RB00 pel持仓:" & TRDKCC

sPolicyName = "RU2019A1" \'策略名称
iPeriod=1 \'1,5分钟
Set Formula = marketdata.STKINDI("RU00","SQ",sPolicyName,0,iPeriod,0,2300)   \'RU00 
CounTmp = Formula.DataSize-1
TRDKCC   = Formula.GetBufData("ccc",CounTmp) \'取得PEL策略持仓
application.MsgOut cdate(time) & ",RU00 pel持仓:" & TRDKCC
……
……

都是这样的写法,总共有18个品种,不同的策略名称、不同的周期,为什么读取不到PEL中的 CCC值?  (策略加载在图表看到CCC是有数值的)


--  作者:deni977
--  发布时间:2019/5/28 13:45:41
--  
补充一下,单个品种、单个策略来调取是可以得到 PEL 的CCC参数的
--  作者:yukizzc
--  发布时间:2019/5/28 16:53:01
--  
注意: 该方法返回的Formula对象将使用共享的内存缓冲区,如果你有多个品种需要转换并且同时处理,请使用数组类Array保存转换后的Formula对象数据.

返回的数据你要一个个保存

--  作者:deni977
--  发布时间:2019/5/28 17:08:53
--  
现在是调用后用  application.MsgOut 输出,这个结果全部都是0,  保存到数据也是0.
--  作者:无为剑
--  发布时间:2019/5/28 17:26:35
--  
Formula.DataSize 打印调试看一下这个变量是多少,如果是0那么检查marketdata.STKINDI参数是否有误