- 精华
- 0
- 在线时间
- 34 小时
- UID
- 71495
- 积分
- 103
- 帖子
- 11
- 阅读权限
- 30
- 注册时间
- 2011-10-14
- 最后登录
- 2015-1-11
- 精华
- 0
- UID
- 71495
- 积分
- 103
- 帖子
- 11
- 主题
- 7
- 阅读权限
- 30
- 注册时间
- 2011-10-14
- 最后登录
- 2015-1-11
|
最近刚开始对程序化交易感兴趣。昨天研究了一下CloseD和OpenD函数。
这两个函数应该是用于跨周期调用的,日线周期用Close和Open进行回溯就可以了。
现在我在5分钟周期上调用该函数,简单写个公式应用,调用并且输出。
我发现,对于CloseD(0),会取出当前bar的收盘价,这没问题。对于CloseD(1),按道理应该取出头一天的日线收盘价,但是对于在K线图上靠前的bar,输出是有问题的。K线图的默认是300根K线,第一根K线通常不是某天的第一根。比如现在K线图上,实际上包括11月2日-11月9日的5分钟K线,11月2日的数据并不完整。那么取CloseD(1),对于11月2日的5分钟Bar,应该得出N/A的结果,现在得到的是11月2日第一根Bar的收盘价。
对于OpenD,存在类似问题。由于取得是开盘价,那么当5分钟周期上的数据并不完整时,OpenD(0),取得是第一根Bar的开盘价,而不是当天的开盘价。
总之,对于超级图表上第一天不完整的数据,会无法取出正确的价格。后面的数据完整了,取出的开盘价和收盘价就正确了。
看了看程序,程序的设定就是如此。不太懂为什么?是因为无法判断某日的数据是否完整么?照理说,如果可以判断,则对这部分数据,可以不去取价格啊。请高手指教。 |
|