以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  2个关于HistoryData的问题请教  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=154971)

--  作者:分析者
--  发布时间:2017/6/12 10:51:42
--  2个关于HistoryData的问题请教

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


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

--  作者:分析者
--  发布时间:2017/6/12 10:52:45
--  

以上第二图的黄线就是获取的 marketdata.GetHistoryData的历史数据,明显和实际不相符


--  作者:王锋
--  发布时间:2017/6/12 10:54:25
--  
History.date(History.count-1)

--  作者:分析者
--  发布时间:2017/6/12 10:56:53
--  
哦,谢谢王总,第一个问题是个弱智问题,已经解决了,还再请教第二个问题。
--  作者:王锋
--  发布时间:2017/6/12 10:59:32
--  

第二个问题你描述不清楚,无法理解


--  作者:分析者
--  发布时间:2017/6/12 10:59:40
--  
第二个问题,我只要改成“Set History = Grid.GetHistoryData()”就没有问题,而用“Set History = marketdata.GetHistoryData(StockLabel,Market,CycType)”就有问题,其他语句都是一样的。
--  作者:分析者
--  发布时间:2017/6/12 11:03:58
--  

那么,我再描述第二个问题,先通过GRID获取当前打开界面的股票代码,市场代码周期,然后通过 Set History = marketdata.GetHistoryData(StockLabel,Market,CycType)获取该股票的行情数据,然后就直接把最高价、最低价显示到界面上观察,发现和实际不符。

我这么做的目的就是先观察数据对不对,观察没问题后,才能扫描很多股票,而不用打开图形界面。


--  作者:王锋
--  发布时间:2017/6/12 11:14:25
--  

Set History = Grid.GetHistoryData()” 和“Set History = marketdata.GetHistoryData(StockLabel,Market,CycType)” 是通过2个不同的通道来取的行情数据的,后者取到的数据完全依赖你提供的参数,由于你没描述清楚具体的差异在哪里,可能是数据的长度不同,也可能是参数不同,或者其他很多因素导致

如果你需要数据完全一致,请使用第一种方法,一来数据会严格一致,二来这种方法也提高了效率,避免了重复到硬盘读取数据的步骤


--  作者:分析者
--  发布时间:2017/6/12 11:24:50
--  

差异在哪里:请看上面第二图,黄线就是 marketdata.GetHistoryData获取的最高价、最低价,和实际差异太大。

参数不同:marketdata.GetHistoryData方法的参数就是通过GRID获取的股票代码,市场代码和周期,没区别啊。

 


--  作者:王锋
--  发布时间:2017/6/12 11:33:31
--  
首先你要保证数据上的日期时间能对其,对其后如果出现偏差,说明复权方式不同造成的