Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共2 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:求助:为什么数组元素都显示零

1楼
daishw 发表于:2012/11/16 11:16:56

      dim d1
       Set d1 = CreateObject("Stock.Array")       
       set Data1= marketdata.GetHistoryData("if12","zj",0)
      dim d2
       Set d2 = CreateObject("Stock.Array")       
       set Data2= marketdata.GetHistoryData("if11","zj",0)   
     If Data1.Count < 20 or Data2.Count < 20 Then
        Set d1 = nothing 

        Set d2 = nothing 

        Exit Sub
      End if     
      for i=Data1.Count-20 to Data1.Count-1
         d1.AddBack(Data1.Close(i))
         d2.AddBack(Data1.Close(i)-Data2.Close(i))          
      next
      for j=0 to 19
         Application.MsgOut d1.getat(j)
         Application.MsgOut d2.getat(j)
      next
     
      A=d1.GetAt(19)
      B=d1.GetAt(19)- d2.GetAt(19)   
     Application.MsgOut A
     MsgBox B

 

问题:数组d1正常,为什么数组d2的元素都为零?B值为d1.GetAt(19)的值?请教问题出在哪里?

2楼
guotx2010 发表于:2012/11/16 11:40:13

'分开给每一个数组赋值就行了。

 

dim d1
       Set d1 = CreateObject("Stock.Array")       
       set Data1= marketdata.GetHistoryData("if12","zj",0)
      for i=Data1.Count-20 to Data1.Count-1
         d1.AddBack(Data1.Close(i))
      next
     
      dim d2
       Set d2 = CreateObject("Stock.Array")       
       set Data2= marketdata.GetHistoryData("if11","zj",0)  
      for i=Data2.Count-20 to Data2.Count-1
         d2.AddBack(Data2.Close(i))
         'd2.AddBack(Data1.Close(i)-Data2.Close(i))          
      next
     If Data1.Count < 20 or Data2.Count < 20 Then
        Set d1 = nothing

        Set d2 = nothing

        Exit Sub
      End if     
     
      for j=0 to 19
         Application.MsgOut "d1:"&j&"="&d1.getat(j)
         Application.MsgOut "d2:"&j&"="&d2.getat(j)
      next
     
      A=d1.GetAt(19)
      B=d1.GetAt(19)- d2.GetAt(19)   
     Application.MsgOut A
     MsgBox B

共2 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.02930 s, 2 queries.