以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  还是取历史K线数据问题  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=162739)

--  作者:lh1988
--  发布时间:2018/4/13 9:36:51
--  还是取历史K线数据问题
早上开盘前9:10分左右,策略取过去5个日线数据,还是正常的,9:25分之后,策略取的过去5个日线收盘价,发现把上一日的收盘价漏了,往前多取了一个,开盘后依然是这样,分别的5个数据是当前价格,然后是往前推两个交易日的数据,把上一日的收盘价数据漏了
然后我去窗口输入该股票代码手动查看一下该股票的日K先数据,发现界面上日的K线是闪了一下才出现的,之后再去看程序取的数据就正常了
--  作者:banzhuan
--  发布时间:2018/4/13 9:40:34
--  
1. 您描述的问题应该是您本地日线周期数据不完整造成的,您如果打开某个股票相当于自动补充了该股票的日线数据,所以会显示正常;
2. 建议您先补充一下日线周期数据再试试,另外您如果是一段时间(比如几天)没打开金字塔后,任然需要进行历史数据的补充;

--  作者:lh1988
--  发布时间:2018/4/13 10:05:27
--  回复
我补充过,并且最近每天都正常开金字塔,而且开盘前我取过去5个交易日收盘价数据是对的,9:25分集合竞价之后(产生今日数据)后,这时策略取过去5个交易日收盘价就会漏掉上一日的(感觉像是以当日最新价代替了)
--  作者:banzhuan
--  发布时间:2018/4/13 10:07:31
--  
您贴一下获取5个交易日收盘价的具体代码,工作人员本地核实一下
--  作者:lh1988
--  发布时间:2018/4/13 10:15:22
--  代码比较简单
set hisdata_HS300 = marketdata.GetHistoryData("000300","SH",5,5)
if hisdata_HS300.Count = 5 then
for i = hisdata_HS300.Count -1 to 0 
sum = sum + hisdata_HS300.Close(i)
application.msgout "日线数据"&i&":"&hisdata_HS300.Close(i)
next
ma5 = sum/5
application.msgout "ma5:"&ma5
end if


--  作者:gxx978
--  发布时间:2018/4/13 10:27:27
--  
9:25分集合竞价完成后,已经是有当天的最新行情数据了,取到的就是当天的最新价了。如果你不想取当天的数据,那需要hisdata_HS300.Count -2
--  作者:lh1988
--  发布时间:2018/4/13 13:56:52
--  回复楼上
有当天的数据可以的,主要是上个交易日的收盘价数据不见了,取出的5个收盘价分别是 当天的,上2个交易日的,上3个交易日,4,5交易日
上1个交易日数据不见了
--  作者:banzhuan
--  发布时间:2018/4/13 14:25:38
--  
本地测试上个交易日的收盘价数据也是存在的,您看下红色标记地方语句是否准确

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

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