以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  数据类型转换的问题,版主请进!  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=87824)

--  作者:fengxiaoyong
--  发布时间:2015/11/28 16:39:22
--  数据类型转换的问题,版主请进!

 由于VBA开发策略要用到很多FUN对象中的函数,但是FUN对象则必须是STOCK.ARRAY对象类型,而market.GetHistoryData返回的是historydata对象,其中的close则是数组类型,我写了一个函数,把返回的historydata中的CLOSE数组转换成STOCK.ARRAY类型,但是转换时候老报错

function ConvertToJztArray(Arr())
     set jztarr=createobject("stock.array")
     ncount=Ubound(Arr)
     for i=0 to ncount-1
         value=Arr(i)
         jztarr.addback(value)
     next
     set ConvertToJztArray=jztarr
     set jztarr=nothing
end function

下面代码是调用的地方

 set xl=ConvertToJztArray(HistroyData.close)
  application.MsgOut fun.TRMA(xl)

但是报如下错误,请版主给予帮助


图片点击可在新窗口打开查看此主题相关图片如下:1111111.png
图片点击可在新窗口打开查看

--  作者:王锋
--  发布时间:2015/11/28 19:01:37
--  

historydata中的CLOSE 这个不是数组的,是金字塔提供的一个函数,你使用时只能用

historydata.CLOSE(0)

historydata.CLOSE(1)

historydata.CLOSE(2)

这样的方式调用数据