通达信〖波浪顶底〗局部极值判断与多个周期ZIG拐点共振源码
“波浪顶底主图”是一套面向波段交易者的通达信主图指标。它把局部极值判断与多个周期的ZIG拐点共振结合起来,直接在K线上标出波浪顶、波浪底以及买点,目的是让交易者少做追涨杀跌,更多关注趋势转折。
指标内部逻辑
1. 顶底波段标记:通过 FILTER、BACKSET 与 HHV/LLV 配合,在10根K线范围内找出阶段最高和最低位置,再用粉色点线标“波浪顶”、绿色点线标“波浪底”,从而勾勒价格波动的上下边界。
2. 多周期ZIG共振买点:分别用6、22、51、72四个参数计算ZIG转向。当短、中、长周期同时由底部拐头时,形成“买点2”,在K线下方显示粉色▲;“买点1”则用红色▲表示。
3. 辅助过滤条件:还引入5/10/30日均线、类似MACD的快慢EMA差值、类似CCI的乖离变量 ZBGS20,以及成本均线 SUM(CV)/SUM(V) 等,用来辅助判断是否处于超跌反弹环境。
使用方式
- 判断趋势:粉色波浪顶连线可视为压力,绿色波浪底连线可视为支撑。价格沿波浪底逐步抬高时可继续持有;若跌破前低,则考虑止损。
- 寻找买点:K线下方出现红色▲或粉色▲,同时价格靠近波浪底、均线开始向上拐头时,可作为低吸参考。多周期共振形成的买点2,比单一买点更稳定。
- 风险提示:ZIG属于未来函数,信号会随之后走势而变化,盘中出现的▲到收盘后可能消失,因此应等收盘确认后再操作。公式中的“卖点1”只有定义、没有绘图,止盈可结合MACD死叉或跌破波浪顶自行判断。
该指标更适合中短线交易者,若结合成交量与大盘环境使用,效果通常更好。
主图源码:
TY:=C;HD:=FILTER(BACKSET(FILTER(REF(TY,10)=HHV(TY,2*10+1),10),10+1),10);LD:=FILTER(BACKSET(FILTER(REF(TY,10)=LLV(TY,2*10+1),10),10+1),10);A:=REF(C,BARSLAST(HD));B:=REF(C,BARSLAST(LD));T1:=BARSLAST(HD) < BARSLAST(LD) AND NOT(HD) ;T2:=BARSLAST(HD) > BARSLAST(LD) AND NOT(LD);波浪顶:IF(T1,A,A),COLORFF80FF,POINTDOT,LINETHICK2;STICKLINE(T1,A,A,9,0),COLORFF80FF;波浪底:IF(T2,B,B),COLOR00FF00,POINTDOT,LINETHICK2;VAR3:=LLV(H,240);VAR4:=100*(C-VAR3)/VAR3;VAR5:=(C-LLV(L,528))/(HHV(H,528)-LLV(L,528))*100;VAR6:=(C-LLV(C,530))/(HHV(C,530)-LLV(C,530))*100;VAR7:=0;VAR8:=MA(HHV(C-REF(C,1),0),34)/MA(ABS(C-REF(C,1)),7)*100;VAR9:=MA(HHV(C-REF(C,1),0),13)/MA(ABS(C-REF(C,1)),13)*100;VARA:=BARSCOUNT(C);VARB:=VAR8 < 20 AND VAR9 < 23 AND VARA > 35;VARC:=VARB AND COUNT(VARB,1)=1;VARD:=EMA(C,21)-EMA(C,8);VARE:=EMA (VARD,5);VARF:=(361) < 4 AND CROSS(VARD,VARE);VAR10:=IF((3161)=0 AND H-L+0.04,4,0);VAR11:=ZIG(3,6) > REF(ZIG(3,6),1) AND REF(ZIG(3,6),1) < REF(ZIG(3,6),2) AND REF(ZIG(3,6),2) < REF(ZIG(3,6),3);VAR12:=ZIG(3,6) < REF(ZIG(3,6),1) AND REF(ZIG(3,6),1) > REF(ZIG(3,6),2) AND REF(ZIG(3,6),2) > REF(ZIG(3,6),3);VAR13:=ZIG(3,22) > REF(ZIG(3,22),1) AND REF(ZIG(3,22),1) < REF(ZIG(3,22),2) AND REF(ZIG(3,22),2) < REF(ZIG(3,22),3);VAR14:=ZIG(3,22) < REF(ZIG(3,22),1) AND REF(ZIG(3,22),1) > REF(ZIG(3,22),2) AND REF(ZIG(3,22),2) > REF(ZIG(3,22),3);VAR15:=ZIG(3,51) > REF(ZIG(3,51),1) AND REF(ZIG(3,51),1) < REF(ZIG(3,51),2) AND REF(ZIG(3,51),2) < REF(ZIG(3,51),3);VAR16:=ZIG(3,51) < REF(ZIG(3,51),1) AND REF(ZIG(3,51),1) > REF(ZIG(3,51),2) AND REF(ZIG(3,51),2) > REF(ZIG(3,51),3);VAR17:=ZIG(3,72) > REF(ZIG(3,72),1) AND REF(ZIG(3,72),1) < REF(ZIG(3,72),2) AND REF(ZIG(3,72),2) < REF(ZIG(3,72),3);VAR18:=ZIG(3,72) < REF(ZIG(3,72),1) AND REF(ZIG(3,72),1) > REF(ZIG(3,72),2) AND REF(ZIG(3,72),2) > REF(ZIG(3,72),3);VAR19:=EMA(C,2)-EMA(C,150);VAR1A:=EMA(VAR19,100);VAR1B:=2*(VAR19-VAR1A);VAR1C:=POW(VAR1B,3)*0.1+POW(VAR1B,1);VAR1D:=SQRT(SQRT(L-H*O*C));VAR1E:=EMA(VAR1D*0.97,3);VAR1F:=(H+L+C)/3;VAR20:=(VAR1F-MA(VAR1F,14))/(0.015*AVEDEV(VAR1F,14));VAR21:=CROSS(VAR1E,L);买点1:=VAR10;买点2:=(VAR11+VAR13+VAR15+VAR17);卖点1:=(VAR12+VAR14+VAR16+VAR18),LINETHICK2;VAR22:=买点1 AND VARF AND VARC AND VAR21 AND VAR4 < 0 AND VAR5=0 AND VAR6=0 AND VAR20 < (-110);VAR1:=MA(C,5);VAR2:=MA(C,10);VAR31:=MA(C,30);VARB1:=SUM(C*V*100,28)/SUM(V*100,28);VARC1:=INTPART(VARB1*100)/100;VARD1:=EMA(C,5)-EMA(C,10);VARE1:=EMA(VARD1,9);VAR131:=REF(VARE1,1);VAR141:=VARE1;VAR151:=VAR141-VAR131;VAR161:=REF(VARD1,1);VAR171:=VARD1;VAR181:=VAR171-VAR161;VAR191:=O;VAR1A1:=C;DRAWTEXT(买点1 > 0,L-0.01,'▲'),COLORRED;DRAWTEXT(买点2 > 0,L-0.01,'▲'),COLORFF00FF;

未来函数检测结果如下:
该公式包含未来函数:ZIG
该公式包含未来函数:BACKSET
TY赋值:收盘价
HD赋值:若10日前的TY=2*10+1日内TY的最高值的10日过滤则将最近10+1周期置为1的10日过滤
LD赋值:若10日前的TY=2*10+1日内TY的最低值的10日过滤则将最近10+1周期置为1的10日过滤
A赋值:上次HD距今天数日前的收盘价
B赋值:上次LD距今天数日前的收盘价
T1赋值:上次HD距今天数 < 上次LD距今天数 AND 取反
T2赋值:上次HD距今天数 > 上次LD距今天数 AND 取反
输出波浪顶:如果T1,返回A,否则返回A,COLORFF80FF,POINTDOT,线宽为2
当满足条件T1时,在A和A位置之间画柱状线,宽度为9,0不为0则画空心柱.,COLORFF80FF
输出波浪底:如果T2,返回B,否则返回B,COLOR00FF00,POINTDOT,线宽为2
VAR3赋值:240日内最高价的最低值
VAR4赋值:100*(收盘价-VAR3)/VAR3
VAR5赋值:(收盘价-528日内最低价的最低值)/(528日内最高价的最高值-528日内最低价的最低值)*100
VAR6赋值:(收盘价-530日内收盘价的最低值)/(530日内收盘价的最高值-530日内收盘价的最低值)*100
VAR7赋值:0
VAR8赋值:0日内收盘价-1日前的收盘价的最高值的34日简单移动平均/收盘价-1日前的收盘价的绝对值的7日简单移动平均*100
VAR9赋值:0日内收盘价-1日前的收盘价的最高值的13日简单移动平均/收盘价-1日前的收盘价的绝对值的13日简单移动平均*100
VARA赋值:收盘价的有效数据周期数
VARB赋值:VAR8 < 20 AND VAR9 < 23 AND VARA > 35
VARC赋值:VARB AND 统计1日中满足VARB的天数=1
VARD赋值:收盘价的21日指数移动平均-收盘价的8日指数移动平均
VARE赋值:VARD的5日指数移动平均
VARF赋值:(361) < 4 AND VARD上穿VARE
VAR10赋值:如果(3161)=0ANDH-最低价+0.04,返回4,否则返回0
VAR11赋值:收盘价6%的之字转向 > 1日前的收盘价6%的之字转向 AND 1日前的收盘价6%的之字转向 < 2日前的收盘价6%的之字转向 AND 2日前的收盘价6%的之字转向 < 3日前的收盘价6%的之字转向
VAR12赋值:收盘价6%的之字转向 < 1日前的收盘价6%的之字转向 AND 1日前的收盘价6%的之字转向 > 2日前的收盘价6%的之字转向 AND 2日前的收盘价6%的之字转向 > 3日前的收盘价6%的之字转向
VAR13赋值:收盘价22%的之字转向 > 1日前的收盘价22%的之字转向 AND 1日前的收盘价22%的之字转向 < 2日前的收盘价22%的之字转向 AND 2日前的收盘价22%的之字转向 < 3日前的收盘价22%的之字转向
VAR14赋值:收盘价22%的之字转向 < 1日前的收盘价22%的之字转向 AND 1日前的收盘价22%的之字转向 > 2日前的收盘价22%的之字转向 AND 2日前的收盘价22%的之字转向 > 3日前的收盘价22%的之字转向
VAR15赋值:收盘价51%的之字转向 > 1日前的收盘价51%的之字转向 AND 1日前的收盘价51%的之字转向 < 2日前的收盘价51%的之字转向 AND 2日前的收盘价51%的之字转向 < 3日前的收盘价51%的之字转向
VAR16赋值:收盘价51%的之字转向 < 1日前的收盘价51%的之字转向 AND 1日前的收盘价51%的之字转向 > 2日前的收盘价51%的之字转向 AND 2日前的收盘价51%的之字转向 > 3日前的收盘价51%的之字转向
VAR17赋值:收盘价72%的之字转向 > 1日前的收盘价72%的之字转向 AND 1日前的收盘价72%的之字转向 < 2日前的收盘价72%的之字转向 AND 2日前的收盘价72%的之字转向 < 3日前的收盘价72%的之字转向
VAR18赋值:收盘价72%的之字转向 < 1日前的收盘价72%的之字转向 AND 1日前的收盘价72%的之字转向 > 2日前的收盘价72%的之字转向 AND 2日前的收盘价72%的之字转向 > 3日前的收盘价72%的之字转向
VAR19赋值:收盘价的2日指数移动平均-收盘价的150日指数移动平均
VAR1A赋值:VAR19的100日指数移动平均
VAR1B赋值:2*(VAR19-VAR1A)
VAR1C赋值:VAR1B的3乘幂*0.1+VAR1B的1乘幂
VAR1D赋值:最低价-最高价*开盘价*收盘价的开方的开方
VAR1E赋值:VAR1D*0.97的3日指数移动平均
VAR1F赋值:(最高价+最低价+收盘价)/3
VAR20赋值:(VAR1F-VAR1F的14日简单移动平均)/(0.015*VAR1F的14日平均绝对偏差)
VAR21赋值:VAR1E上穿最低价
买点1赋值:VAR10
买点2赋值:(VAR11+VAR13+VAR15+VAR17)
卖点1赋值:(VAR12+VAR14+VAR16+VAR18),线宽为2
VAR22赋值:买点1 AND VARF AND VARC AND VAR21 AND VAR4 < 0 AND VAR5=0 AND VAR6=0 AND VAR20 < (-110)
VAR1赋值:收盘价的5日简单移动平均
VAR2赋值:收盘价的10日简单移动平均
VAR31赋值:收盘价的30日简单移动平均
VARB1赋值:收盘价*成交量(手)*100的28日累和/成交量(手)*100的28日累和
VARC1赋值:VARB1*100的整数部分/100
VARD1赋值:收盘价的5日指数移动平均-收盘价的10日指数移动平均
VARE1赋值:VARD1的9日指数移动平均
VAR131赋值:1日前的VARE1
VAR141赋值:VARE1
VAR151赋值:VAR141-VAR131
VAR161赋值:1日前的VARD1
VAR171赋值:VARD1
VAR181赋值:VAR171-VAR161
VAR191赋值:开盘价
VAR1A1赋值:收盘价
当满足条件买点1>0时,在最低价-0.01位置书写文字,画红色
当满足条件买点2>0时,在最低价-0.01位置书写文字,COLORFF00FF
- QQ:88652583
- 邮箱:88652583@qq.com
- 工作时间:7:30-21:00
- 微信:88652583或扫描如下二维码
sitemap站点地图