2个关于HistoryData的问题请教:
1:为什么我弹出msgbox History.date(count-1),弹出的时间是“0:00:00”
2:我把 marketdata.GetHistoryData的行情数据再显示到界面上观察,为何与实际的行情数据不符啊。
我的具体代码如下:
dim grid ,history
set grid =Formula.ParentGrid
StockName=grid.StockName
StockLabel=grid.StockLabel
Market=grid.Market
CycType=grid.CycType
Set History = marketdata.GetHistoryData(StockLabel,Market,CycType)
msgbox History.date(count-1)
msgbox CycType
以上第二图的黄线就是获取的 marketdata.GetHistoryData的历史数据,明显和实际不相符
第二个问题你描述不清楚,无法理解
那么,我再描述第二个问题,先通过GRID获取当前打开界面的股票代码,市场代码周期,然后通过 Set History = marketdata.GetHistoryData(StockLabel,Market,CycType)获取该股票的行情数据,然后就直接把最高价、最低价显示到界面上观察,发现和实际不符。
我这么做的目的就是先观察数据对不对,观察没问题后,才能扫描很多股票,而不用打开图形界面。
“Set History = Grid.GetHistoryData()” 和“Set History = marketdata.GetHistoryData(StockLabel,Market,CycType)” 是通过2个不同的通道来取的行情数据的,后者取到的数据完全依赖你提供的参数,由于你没描述清楚具体的差异在哪里,可能是数据的长度不同,也可能是参数不同,或者其他很多因素导致
如果你需要数据完全一致,请使用第一种方法,一来数据会严格一致,二来这种方法也提高了效率,避免了重复到硬盘读取数据的步骤
差异在哪里:请看上面第二图,黄线就是 marketdata.GetHistoryData获取的最高价、最低价,和实际差异太大。
参数不同:marketdata.GetHistoryData方法的参数就是通过GRID获取的股票代码,市场代码和周期,没区别啊。