为什么在marketdata.HistoryDataMode=1的情况下, 我只获取到了最早的那一根的数据,后面四根都等于0?而在marketdata.HistoryDataMode=0的情况下又可以?
'读取白糖PTA得日线数据
marketdata.HistoryDataMode=1'不同品种为独立的缓冲区
Set HistroyData = marketdata.GetHistoryData("SRX00","ZQ",0,5)'若要是分钟这里填0
Set HistroyData1 = marketdata.GetHistoryData("TA00","ZQ",0,5)'若要是分钟这里填0
msgbox HistroyData.count
for i = 0 to HistroyData.count-1
application.MsgOut "SR"&":"&HistroyData.date(i)&" "&HistroyData.Close(i)&" "&"TA"&":"&HistroyData1.date(i)&" "&HistroyData1.Close(i)
'数据处理完毕后,清理缓冲区
marketdata.DestroyHistoryData
此主题相关图片如下:数据.png

next
'读取白糖PTA得日线数据
marketdata.HistoryDataMode=1'不同品种为独立的缓冲区
Set HistroyData = marketdata.GetHistoryData("SRX00","ZQ",0,5)'若要是分钟这里填0
Set HistroyData1 = marketdata.GetHistoryData("TA00","ZQ",0,5)'若要是分钟这里填0
msgbox HistroyData.count
for i = 0 to HistroyData.count-1
application.MsgOut "SR"&":"&HistroyData.date(i)&" "&HistroyData.Close(i)&" "&"TA"&":"&HistroyData1.date(i)&" "&HistroyData1.Close(i)
'数据处理完毕后,清理缓冲区
marketdata.DestroyHistoryData
next
如果上述代码没错的话,建议你看一下你的代码病句问题在哪里
marketdata.DestroyHistoryData
清空缓冲放在循环外,否者你第一次循环就全部清掉了。