ZIG函数一、神奇的ZIG函数初接触ZIG函数的人,看到ZIG函数曲线能够准确地标示出股价波动的峰值和谷值,感到十分神奇。不信?你用以下面的公式做一个主图叠加指标看看。Z38:ZIG(3,8),COLORYELLOW;Z315:ZIG(3,15),COLORGREEN;面对这样神奇的曲线,不禁浮想联翩。如果买在最低价,卖在最高价,不用多长时间,就能发大财了。虽然没有资本去争世界首富,至少中国首富也有希望,就算退一大步,本地首富也一定能当上。想着想着,首先要做一个交易系统来指导操作。当下跌达到转向条件并开始回升时买入,当上升达到转向条件并开始回落时卖出。交易系统公式十分简单:Z:=ZIG(3,8);ENTERLONG:REF(Z,1)REF(Z,2)ANDZREF(Z,1);EXITLONG:REF(Z,1)REF(Z,2)ANDZREF(Z,1);看,图形多么美妙!现在沪深股市有千多只股票,这样一只一只地看太过麻烦了,还是做一个选股公式好。而且这个交易系统是在波谷的第二天才买入,在波峰的第二天才卖出,未能百分百地赚足。肥水不流到别人田,采用第一个波谷买入,第一个波峰卖出,一点也不浪费。立马就做买入和卖出选股公式。买入选股公式:TROUGHBARS(3,8,1)=0;TROUGHBARS函数是返回波谷到当前的周期数。取收盘价、8%转向、第一波谷到当前为零天。卖出选股公式:PEAKBARS(3,8,1)=0;PEAKBARS函数是返回波峰到当前的周期数。取收盘价、8%转向、第一波峰到当前为零天。万事俱备,只欠操作了。这个美梦真的能实现吗?与一个鸡蛋的家当比起来,那一个更靠谱?做的是南柯梦还是黄粱梦?二、ZIG函数为什么会神奇要了解ZIG函数为什么神奇,就要先了解这个函数的轨迹是怎样来的。以下是从我跟踪的股票中,选出一个由下跌到回升这一阶段,ZIG函数的变化情况的笔记,绘出图形来解释。为了更清晰地显示ZIG曲线,特意采用较大的转向条件。设置主图叠加指标,使用收盘价达到或超过15%时转向。公式是:Z:ZIG(3,15);上图左侧是见顶后回落到符合转向条件的情况。000989九芝堂在2010年4月22日见顶,收盘15.77元。第二天回落,形成波峰。以后日有升跌,这段期间的ZIG曲线是从波峰画向当天的收盘价。从波峰到当天中间各天的ZIG值是两头的线性内插值。也就是说,这段期间每天的ZIG值是变动的,只有波峰及以前各天的ZIG值才固定下来。在5月10日收盘13.28元,对波峰下跌了15.79%,达到了15%转向条件。上图右侧是在达到转向条件后的第二个交易日,5月12日继续下跌,收盘12.34元。这天的ZIG值是收盘价。5月13日回升。这样5月12日就成为波谷,ZIG曲线从12日收盘价画向13日收盘价。上图左侧是5月12日以后到6月10日,每天的ZIG曲线是从5月12日的波谷向当天收盘价画线。上图右侧是6月10日以后股价下跌的情形。6月29日收盘12.09元,低于5月12日的12.34元。但ZIG曲线仍然由5月12日的收盘价画向当天收盘价,这样5月12日就不是波谷,而是一个转折点。6月29日虽然已经达到15%的转向条件,但还不是波谷。上图左侧是7月5日的情形。从图上可以看出,每天的ZIG曲线仍然是从5月12日收盘价画向当天的收盘价。上图右侧是7月6日,收盘价11.17元,比昨天回升。要注意的是,这一天成为了新的波谷,ZIG曲线是从4月22日收盘价画向7月6日收盘价,5月12日的波谷消失了。从以上的记录可以看出,ZIG函数是在达到或超过转向条件,并出现转向时,才产生波峰或波谷。当同一方向新的转向点出现后,原来的转向点就消失,这就是ZIG神奇的原因,也就是让一些不明真相的人竞折腰的原因。至于ZIG曲线在股价从波谷向波峰变化的情况与上述相似,只是方向不同,在此不举例了。结论是,ZIG函数通过不断的修正波峰和波谷点位置,使它能正确地标示出过去的峰谷点。但是并不能够正确地标示出正在变化中的最近一段时期的峰谷点。所以ZIG函数不能作为买在最低点和卖在最高点的选股方法。三、能选出第一个峰谷点的股票吗前面提到的第一个波谷买入和第一个波峰卖出的公式,真的能选出股票吗?抱着这个疑问进行测试。先是用买入选股公式:TROUGHBARS(3,8,1)=0;测试。结果选出的都是还未出现过第一个波谷的新股。再用卖出选股公式:PEAKBARS(3,8,1)=0;测试。结果选出的都是还未出现过第一个波峰的新股。两个公式都不能选出已经产生过波峰和波谷的老股或次新股。这是为什么呢?现在先做一个指标公式来查看。用以下公式做一个副图指标:BG:TROUGHBARS(3,8,1),COLORLIBLUE;{波谷}BD:PEAKBARS(3,8,1),COLORYELLOW;{波顶}这个副图指标与先前的主图叠加指标ZIG(3,8);一起,对一个将要出现波谷的股票进行跟踪。上图左侧是产生波谷前一天的截图。11月29日当天TROUGHBARS的函数值为38,即距离前一个波峰为38天。第二天,11月30日回升,29日就成为波谷,30日的TROUGHBARS值为1,而前一天的TROUGHBARS值则由38变为0。也就是说,TROUGHBARS不会在当天出现零值,而是回过头来才确定是零的。产生波峰时的情况也一样。下图是产生波峰前一天和确认波峰那天的截图。不用说明了。结论:由于波峰是在出现最高价后回落时才追认的,波谷是在出现最低价后回升时才追认的,所以不可能在最高价或最低价当天出现TROUGHBARS(3,8,1)=0或PEAKBARS(3,8,1)=0。也就是不可能用这两条式来选出股票。五、模拟ZIG函数曲线像ZIG、TROUGHBARS、PEAKBARS等被称为未来函数,受到人们的垢病。于是有人就想出模拟ZIG函数的方法。可能不希望大家容易认清其面目,在网上发表的公式是很复杂的。UP:DRAWLINE(L=LLV(L,BARSLAST(CROSS(EMA(C,10),EMA(C,5)))+1),LLV(L,BARSLAST(CROSS(EMA(C,10),EMA(C,5)))+1),H=HHV(H,BARSLAST(CROSS(EMA(C,5),EMA(C,10)))+1),HHV(H,BARSLAST(CROSS(EMA(C,5),EMA(C,10)))+1),0),COLORRED,LINETHICK2;DOWN:DRAWLINE(H=HHV(H,BARSLAST(CROSS(EMA(C,5),EMA(C,10)))+1),HHV(H,BARSLAST(CROSS(EMA(C,5),EMA(C,10)))+1),L=LLV(L,BARSLAST(CROSS(EMA(C,10),EMA(C,5)))+1),LLV(L,BARSLAST(CROSS(EMA(C,10),EMA(C,5)))+1),0),COLORGREEN,LINETHICK2;如果将这两条公式的公因式抽出,成为如下公式,就容易明白其道理。将以下公式做成主图叠加指标。(说明:以下公式为了与前面的ZIG示例图对应,将上面公式所用的最高价和最低价,均改为收盘价)M5:EMA(C,5);M10:EMA(C,10);PL:=LLV(C,BARSLAST(CROSS(M10,M5))+1);PH:=HHV(C,BARSLAST(CROSS(M5,M10))+1);UP:DRAWLINE(C=PL,C,C=PH,C,0),COLORRED,LINETHICK2;DOWN:DRAWLINE(C=PH,C,C=PL,C,0),COLORGREEN,LINETHICK2;运行这个指标,你会发现它与ZIG函数一样神奇地将波峰和波谷明白无误地显示出来。为什么这样神奇呢?只要小心地分析一下,就发现并不神秘。BARSLAST(CROSS(M10,M5))的结果是今天到出现10日均线与5日均线死叉的天数。PL:=LLV(C,BARSLAST(CROSS(M10,M5))+1);是10日均线与5日均线死叉到今天的最低收盘价。在死叉的当天其结果为零,LLV(C,0)返回的是数据中最早的一天收盘价,所以要加1来避免出现这种情况。PH:=HHV(C,BARSLAST(CROSS(M5,M10))+1);是5日均线与10日均线金叉到今天的最高收盘价。红线UP:DRAWLINE(C=PL,C,C=PH,C,0),COLORRED,LINETHICK2;是从收盘价等于PL那天的收盘价,向收盘价等于PH那天的收盘价作连线。绿线DOWN:DRAWLINE(C=PH,C,C=PL,C,0),COLORGREEN,LINETHICK2;是从收盘价等于PH那天的收盘价,向收盘价等于PL那天的收盘价作连线。有人想用它作买入选股。选股的条件自然是,出现从绿线向下转为红线向上的时刻。即:REF(DOWN,1)REF(DOWN,2)ANDUPREF(UP,1);那行不行呢?如果小心地看,你一定会发现在最后的几天没有红线也没有绿线。这是因为画红线的条件,只有PL,而PH需要的5与10日均线金叉还未出现,于是最近几天是没有UP值的。所以不能用这个方法来进行选股。六、后记写本文缘起是有网友在百度知道中发问:为什么用TROUGHBARS(3,10,1)=0;选不出股票。这引起我的兴趣。其实这位网友不理解ZIG函数曲线的来历,不知道波谷是在出现最低价后回升时才追认的道理。为此引发我整理过去的笔记写成这篇文章。写这篇文章的目的,是对叫嚷“不怕未来函数”的人当头棒喝,是到了该清醒清醒的时候了。如果钱是这么容易赚,财是这么容易发,世界上谁都可以成为首富,也就没有首富了。