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)的值?请教问题出在哪里?
'分开给每一个数组赋值就行了。
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