代码如下:
Set nStockHis = MarketData.GetHistoryData(nStock,"SH",6,0,0)
Application.MsgOut "股票代码=" &nStock& "历史数据总数量:=" &nStockHis.count
Set nForMula = MarketData.StkindiByData("ma",nStockHis)
' msgbox cstr(nForMula.datasize)
nRet = nForMula.GetBufData("ma1",nForMula.datasize-1)
Application.MsgOut nDate &" " &Time& " "& "ma1" & "=" & nret
nret一直返回的是0,表明Set nForMula = MarketData.StkindiByData("ma",nStockHis)没有取到数值,
而类似如下代码:
set nForMula =MarketData.STKINDI(nStock,"SH","stktest",0,0)
nRet = nForMula.GetBufData("nret",nForMula.datasize-1)
nDate = nForMula.GetBufDateData(nForMula.datasize-1)
if nRet>0 then
Application.MsgOut nDate &" " &Time& " "&nStock& "=" & nret
end if
取值一切正常,看来应该是属于StkindiByData的问题。
已经发现确是有BUG,目前已经修复,下个版本会放出,感谢您的问题提交