以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp)
-- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5)
---- 2个关于HistoryData的问题请教 (http://www.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
--
首先你要保证数据上的日期时间能对其,对其后如果出现偏差,说明复权方式不同造成的
|