疑惑?不疑惑?---无需疑惑,因为所有的答案早已奉上。 过去一周的算法分享,多个亮点之一,就是打破已有周期的门槛,周期间引用数据的衔接更上一层楼。 这一切的根本,只在于对当前周期的基本数据的任意自定义周期的引用成为可行,以4日自定义周期为例,代码如下: KX:= 这是关键的第一步,将时间序列数据的顺序置为由左向右进行排列,就是这样一个简单的预置,使得今后的数据加工变得轻而易举;同时,又为“未来函数”不可用、不好用、会变动等等说法进行了“正名”---从此,妈妈再也不担心我的算法会因为未来没来而心不安了。 然后是对上述数据进行基本数据的获得与赋值,真得是不要太容易: C4:=IF(MOD(KX,4)=1,REFX(C,3),IF(MOD(KX,4)=2,REFX(C,2),IF(MOD(KX,4)=3,REFX(C,1),IF(MOD(KX,4)=0,C,DRAWNULL))));{C4 收盘价的模4计算} H4:=IF(MOD(KX,4)=1,REFX(H,3),IF(MOD(KX,4)=2,REFX(H,2),IF(MOD(KX,4)=3,REFX(H,1),IF(MOD(KX,4)=0,H,DRAWNULL)))); {H4 最高价的模4计算} L4:=IF(MOD(KX,4)=1,REFX(L,3),IF(MOD(KX,4)=2,REFX(L,2),IF(MOD(KX,4)=3,REFX(L,1),IF(MOD(KX,4)=0,L,DRAWNULL)))); {L4 最低价的模4计算} O4:=IF(MOD(KX,4)=1,REFX(O,3),IF(MOD(KX,4)=2,REFX(O,2),IF(MOD(KX,4)=3,REFX(O,1),IF(MOD(KX,4)=0,O,DRAWNULL)))); {O4 开盘价的模4计算} V4:=IF(MOD(KX,4)=1,REFX(VOL,3),IF(MOD(KX,4)=2,REFX(VOL,2),IF(MOD(KX,4)=3,REFX(VOL,1),IF(MOD(KX,4)=0, VOL,DRAWNULL)))); {V4 成交量的模4计算} 因为,这里的“4日”并不是指通常所说的“4个交易日”,而是指当前所用数据中的“4个”。比如:30分钟周期下的数据,“4日”即指4个30分钟的数据。 所以,有了前述这简单的算法支撑---
2倍合并(2日合并)=60分钟; 8倍合并(8日合并)=日线; 40倍合并(40日合并)=周线; ... 即,在30分钟这一个周期内,完成30分钟、60分钟、日线、周线,4个甚至更多周期的、基于同一个算法的结果输出,就不再需要数据周期的来回切换,更可以对比数据的“同步”与“共振”的节点。 2.在日线周期环境下,可以引入做好的 2倍合并(2日合并)=2日自定义周期数据; 4倍合并(4日合并)=4日自定义周期数据; 20倍合并(20日合并)=20日自定义周期数据,理论上近似1个月的数据,如果需要的话; ... 至此,“跨”周期数据的引用工作的瓶颈基本可以解决,唯一的不足是现在还不能使用变量来完成MOD、REFX函数的循环取数与计算。 写在文末: 江丰鱼的文章只在今日头条里首发;文中代码均可运行。 |
|