书接上文,我们继续来编写裸k交易法的副图指标中的细节条件模块。
在上一章节,我们深入分析了假突破的含义,并分别从五个不同的方面给定了一些细节的定义,具体定义,此处不再赘述,有兴趣的再翻看上一节《裸k交易指标编写十五:是否假突破,怎么理解》。那么,本节就在通达信中,用代码来实现它。
一、通达信编程思路及代码实现
我们按照上一节的理解来编写通达信程序。对应的,需要解决以下几个问题:
1、突破了谁?
需要明确关键位。很显然,所谓假突破,突破的是谁,关键位!而此处的关键位正是我们必要条件一的关键位。因为,我们可以直接通过公式引用的方式来获取关键位。
比如VAR1:必要条件一.VAR12;
当然,这个关键位的合理性也还是要做进一步的研判,也是必须要做的事情,还是放到后面优化回测的时候来处理,这里姑且先这么写着。
甚至更简单一些,我们不引用之前的定义的关键位,我们就直接用近20天的最高价,比如var2:HHV(H,20),也不是不行。至于为什么是20天,因为一月差不多22个交易日,20天相当于考察月线周期的高低点。这也是很多人喜欢用20周期参数的原因。
放在一起对比下,比如白色线是关键位,黄色线是20日最高价:
我们之前已经分析过了,实际上能被确认为pinbar,k线一定是在关键位附近且突破了关键位,因此,我们认为在对细节条件二的判断上,可以适当弱化对突破关键位的判断。当然,此处,我们在编写代码的时候,也留个口子,不直接写死,待后面优化的时候再看阈值参数设置多少为合适。
2、谁突破了?
是实体突破了?还是影线突破了?这里,我们考察的对象是最高价或者最低价,如果是看涨pinbar,则考虑最低价,如果是看空pinbar,则考虑最高价。
因此我们需要引用之前定义的pinbar信号的方向,然后用一个IF函数来获取pinbar时用于做比较的价格:
信号方向:=PINBAR1.PINBAR_2;
突破价格:IF(信号方向=1,H,IF(信号方向=-1,L,DRAWNULL));
3、同级别趋势是什么?
所谓同级别,是指同一个周期,比如,我们在日线周期上看pinbar,就比较日线周期内的波段变化,不考虑其他周期的pinbar形态。
4、前期高点或低点是什么?
由于pinbar强调的是趋势反转,因此在股票中,根据趋势和出现pinbar多空的情况,可以概括为四种情况,分别是上涨趋势中的看空pinbar,上涨趋势中的看多pinbar,下跌趋势中的看空pinbar,下跌趋势中的看多pinbar。
对于上涨趋势中的看多pinbar和下跌趋势中的看空pinbar属于顺周期,应该延续原趋势行情,继续看多或看空。
另外的两种情况则为逆周期,属于反转行情,以下两种情况假突破的判断标准:
(1)上涨趋势中的看跌pinbar:
(2)下跌趋势中的看涨pinbar:
上述四种情况,我们也概括成一个口诀,就是:上多继续多,下空继续空,上空前高高,下多前低低。
在编写通达信代码的时候,需要分别把pinbar的多空方向,和当前趋势的上涨和下跌的趋势给写出来,然后再按上面的口诀做个判断,就可以得到是否假突破的判断。这样,我们整个细节二的代码就编写完成了。
二、示例说明
我们分别找到上面四种情况对应的图例来直观说明。
1、上多继续多
2、下空继续空
3、上空前高高
4、下多前低低
还有很多,不一一列举了。这里,需要再强调一次,整个pinbar信号系统是2+6一共八个判断条件构成,并非某一个条件。
三、本节小结
在这一节中,我们将上一节中分析的假突破的思路,在通达信中用代码做了编程实现,帮助完成细节二的判断。当然,可以看到,本文中,我们是做了一些基本的假设,但并没有对假设条件做验证。我们也一再强调,假设条件的有效性是需要做检验的,里面涉及数理统计方面的东西,就不详细展开了,在以后的章节有机会再做个分享。
【END】
本文作者可以追加内容哦 !