我们先对上一节内容做个回顾。在上一节,我们分析了关键位中可能存在引用未来数据的问题,然后为了解决这一问题,我们结合实际情况,对关键位的定义设定了四个条件。那么,本节,我们就尝试将四个条件编写成通达信公式。由于是画关键位,公式编写中会用到未来函数,正文也会具体解释。
一、关键位指标公式编写步骤详解
1、确定最近的拐点
我们首先要找到距离当前价格最近的一个有效拐点。
按照条件要求,第一个有效拐点,是距离当前价格最近的一个转折点,这个转折点可以是波段的最高值,也可以是波段的最低值。但是上一个波段的周期是多少,我们并不知道。因此这里,我们采用两个函数PEAK和函数TROUGH来获取上一个波峰和波谷的值。
比如:
VAR1:PEAK(1,10,1),DOTLINE;{波峰值}
VAR2:TROUGH(2,10,1),DOTLINE;{波谷值}
需要注意的是PEAK、TROUGH在通达信中属于未来函数,其作用就是获取波段的转折点,通过这两个函数,我们可以获取到上面定义的拐点。
2、获取最近的一个有效拐点
通过上面一步,当前的行情走势一定是落在上面var1和var2之间的区间内。因此,我们需要进一步确认谁是最近的那个拐点。
我们通过比较当前最新的收盘价与var1与var2的绝对值的差值,谁绝对偏差值越小,那么谁就是我们需要的最近的那个拐点。
因此,通过一个IF语句来做判断赋值:
VAR3:IF(ABS(C-VAR1)-ABS(C-VAR2)>=0,VAR2,VAR1),DOTLINE,COLORWHITE;{获取最近一个有效拐点}
3、判断是否为关键位拐点
上面的var3实际上已经将历史上所以的有效拐点都找出来了。接下来,我们要对拐点做进一步的确认,判断其是否满足关键位拐点的要求。
关于关键位拐点的具体定义,详见《裸k交易指标编写五:关键位的指标公式的设计思路》,此处不在赘述。
在关键位判断上,我们实际上有个迭代的过程,由于通达信中无法使用for循环函数,所以,我们此处依然采用自定义函数的方式,通过动态参数N来获取不同位置的有效拐点。
我们新建一个副图公式,在画线方式上选择副图(叠加k线),给副图公式随便取个名字,比如我这里叫keyline,然后设置1个动态参数N,最小值为1,最大值为5,缺省设置为1。
然后继续编写如下公式:
{判断是否为关键位拐点}VAR41:=MIN(C,O)>=CONST(VAR3) AND L<=CONST(VAR3);{下影线触及拐点}
本文作者可以追加内容哦 !