我想在30分钟K线上引用日线的均线数据。
不想用Range[0:0]和图层叠加,只想用30分钟K线一个图层。
请问怎么实现?
简单的方式不想用,那就只能用复杂麻烦的
你需要日线数据,现在手里有30分钟数据,那么其实就是要做一个把30分钟数据转换成日线数据的工作。
首先要进行30分钟每日数据的分割,用truedate判断30分钟上每个交易日开始的bar,然后开始依据序列数据的特性,分别记录开盘价,逐根比较最高价最低价,最后一根记录收盘价,生成日线数据。
哦如果你只是算日线均线,那么可能只需要记录收盘价就行了。
但是这里关键的是用什么数据结构来记录这个收盘价。为了后面计算方便,我能想到的就是使用全局变量来处理。但是由于全局变量的特性,在往里面塞数据的时候注意不要发生重复添加,这样就会导致数据出错。而且要考虑历史bar和实时bar运行机制的区别,所以要特别注意如何往全局数组里添加数据的算法。
这个容器构建好以后就比较简单了,根据这个数组计算平均值,取这个结果存储到另一个数组里就行了。
如果你看不懂我在说什么,我建议你老老实实用叠加数据的方式取数据。
具体代码我肯定是不想写了,因为叠加数据跨周期现在还是比较成熟,非要用合成数据的方式去处理问题,不仅麻烦,而且出错的可能性极高,泛用性极低,我不知道写这个代码有什么意义,连教学意义都没有。
如果非要这么写,那么请自己加油努力!
谢谢解答。
1. 之所以不想用多图层,是因为不好处理2个图层的数据,感觉写的策略用了未来数据
2. 找了个笨办法,直接看看一天内有多少根30分钟K,然后再去乘日线的均线周期,得到的均线和跨图层得到的高度吻合
你能接受这两者间的误差就行