例如取周线数据,set his=GetHistoryData (Code, Market,7)
然后读取数据 his.close(pos)
当第一周时,周一到周四(假设有周一)pos为0,到周五pos=1,如此类推,这样当日K线下调用该函数,上周五的收盘价就成为这周的收盘价,这样编程不好处理。
能否改为周一才将pos+1
月线和多周期的也是这样。
Set History = marketdata.GetHistoryData("if00","zj",6)
application.MsgOut History.close(1)
这边测试都是周五作为周线收盘价的啊
但是下一周的周一至周四读取的还是上周五的收盘价,
我的想法是应该像跨周期调用stkindi一样,周一至周五都是周五的收盘价。
没明白,不是周线吗?
周线返回的就是本周周五的收盘价呀,怎么又和周一至周四有关系了,在周线下根本没法用到日线周一周四
在日线下调用该函数,你是自定义函数放到pel中使用??
可否function的代码贴下,这边直接使用验证下呢
Function CS03(Formula,N1) ’N1为GetHistoryData()读取周期类型
CS03=0
Set grid=Formula.ParentGrid
Label=grid.StockLabel
Mkt=grid.Market '获取调用公式的市场及代码
Set Historydt = MarketData.GetHistoryData(Label,Mkt,N1) '读取历史数据,N1为6时读取周线数据
fpos=formula.indexdata '读取调用公式时的位置
str=grid.Datebypos(fpos) '获取调用公式时的日期时间
hpos = Historydt.GetPosFromDate(str) '读取该日期的历史数据位置
hc=historydt.close(hpos) '读取历史数据收盘价
CS03=hc '或者CS03=hpos,这样可以明显看出历史数据的序数变化。
End Function
pel代码
dd:CS03(6);
不知怎么发图片,
可以看到周五收盘价就发生改变,周一反而不变
历史数据序数也是这样。
怎么没回复?
情况已看到,周线以上的序号在周五时候+1了
会向上提交该问题,谢谢