通达信波浪结构识别指标公式源码
发布日期: 2025-07-07 | 阅读量:6
A1:=REF(HIGH,10)=HHV(HIGH,2*10+1);
B1:=FILTER(A1,10);
C1:=BACKSET(B1,10+1);
D1:=FILTER(C1,10);{高点}
A2:=REF(LOW,10)=LLV(LOW,2*10+1);
B2:=FILTER(A2,10);
C2:=BACKSET(B2,10+1);
D2:=FILTER(C2,10);{低点}
E1:=(REF(LLV(LOW,2*10),1)+REF(HHV(HIGH,2*10),1))/2;
E2:=(HIGH+LOW)/2;
H1:=(D1 AND NOT((D2 AND E1>=E2))) OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
L1:=(D2 AND NOT((D1 AND E1<E2)));
H2:=D1 AND NOT((D2 AND E1>=E2));
X1:=REF(BARSLAST(H1),1)+1;
F1:=BACKSET(H1 AND COUNT(L1,X1)>0,LLVBARS(IF(L1,LOW,10000),X1));
G1:=F1>REF(F1,1);
I1:=BACKSET(G1,2);
LD:=I1>REF(I1,1);{过滤后低点}
L2:=LD OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
X2:=REF(BARSLAST(L2),1)+1;
F2:=BACKSET(L2 AND COUNT(H2,X2)>0,HHVBARS(IF(H2,HIGH,0),X2));
G2:=F2>REF(F2,1);
I2:=BACKSET(G2,2);
HD:=I2>REF(I2,1);{过滤后高点}
浪折线上:DRAWLINE(LD,L,HD,H,0),COLOR00FFFF,LINETHICK1;
下:DRAWLINE(HD,H,LD,L,0),COLOR00FFFF,LINETHICK1;
J1:=BACKSET(ISLASTBAR ,MIN(BARSLAST(HD),BARSLAST(LD))+1);
J2:=J1>REF(J1,1);
顶底线:DRAWLINE(J2,IF(HD,H,L),ISLASTBAR ,IF(BARSLAST(HD)>BARSLAST(LD),H,L),0),COLOR00FF00;
UU:=BACKSET(ISLASTBAR,BARSLAST(LD)+1);
VV:=UU>REF(UU,1);
WW:=BACKSET(VV,REF(BARSLAST(LD),1)+2);
XX:=WW>REF(WW,1);
浪底粗线:DRAWLINE(XX,L,VV,L,1),COLORFFFFFF,LINETHICK2,DOTLINE;
UU2:=BACKSET(ISLASTBAR,BARSLAST(HD)+1);
VV2:=UU2>REF(UU2,1);
WW2:=BACKSET(VV2,REF(BARSLAST(HD),1)+2);
XX2:=WW2>REF(WW2,1);
浪顶细线:DRAWLINE(XX2,H,VV2,H,1),COLORFFFF00,LINETHICK1,DOTLINE;
N:=WEEKDAY;
AA:=REF(H,N)=HHV(H,2*N+1);
AA1:=REF(L,N)=LLV(L,2*N+1);
QY:=BACKSET(AA,N+1);
QY1:=BACKSET(AA1,N+1);
CC:=FILTER(QY,N) AND H=HHV(H,N+1);
CC1:=FILTER(QY1,N) AND L=LLV(L,N+1);
DDD:=BARSLAST(CC);
DD1:=BARSLAST(CC1);
GDTS:=IF(CC,CURRBARSCOUNT,0);
DDTS:=IF(CC1,CURRBARSCOUNT,0);
DINGBUTS:=IF(DDD,REF(GDTS,DDD),GDTS);
DDTS1:=IF(DD1,REF(DDTS,DD1),DDTS);
GDCS1:=CONST(DINGBUTS);
DDCS1:=CONST(DDTS1);
GDCS13:=CONST(REF(HIGH,GDCS1-1));
DDCS13:=CONST(REF(L,DDCS1-1));
DINGBUTS1:=REF(DINGBUTS,DDD+1);
DDTS2:=REF(DDTS1,DD1+1);
GDCS2:=CONST(DINGBUTS1);
DDCS2:=CONST(DDTS2);
GDCS23:=CONST(REF(HIGH,DINGBUTS1-1));
DDCS23:=CONST(REF(L,DDTS2-1));
XG1:=BACKSET(ISLASTBAR,GDCS1);
XD1:=BACKSET(ISLASTBAR,DDCS1);
XG2:=BACKSET(ISLASTBAR,DINGBUTS1);
XD2:=BACKSET(ISLASTBAR,DDTS2);
{更多指标关注微信公众号:程序化指标}
EXP1:=EMA(CLOSE, 12), COLORYELLOW, LINETHICK1;
EXP2:=EMA(CLOSE, 47), COLORLIMAGENTA, LINETHICK1;
STICKLINE(C>EXP1 AND C>EXP2, H, L, 0, 0), COLORRED;{上下影线,可不画}
STICKLINE(C>EXP1 AND C>EXP2 AND C>=O, O, C, 2.3, 1), COLORRED;
STICKLINE(C>EXP1 AND C>EXP2 AND C<O, O, C, 2.3, 0), COLORRED;
STICKLINE(C<EXP1 AND C>EXP2, H, L, 0, 0), COLORYELLOW;{上下影线,可不画}
STICKLINE(C<EXP1 AND C>EXP2 AND C>=O, O, C, 2.3, 1), COLORYELLOW;
STICKLINE(C<EXP1 AND C>EXP2 AND C<O, O, C, 2.3, 0),COLORYELLOW;
STICKLINE(C>EXP1 AND C<EXP2, H, L, 0, 0),COLORFF8000;{上下影线,可不画}
STICKLINE(C>EXP1 AND C<EXP2 AND C>=O, O, C, 2.3, 1), COLORFF8000;
STICKLINE(C>EXP1 AND C<EXP2 AND C<O, O, C, 2.3, 0),COLORFF8000;
STICKLINE(C<EXP1 AND C<EXP2, H, L, 0, 0), COLORGREEN;{上下影线,可不画}
STICKLINE(C<EXP1 AND C<EXP2 AND C>=O, O, C, 2.3, 1), COLORGREEN;
STICKLINE(C<EXP1 AND C<EXP2 AND C<O, O, C, 2.3, 0), COLORGREEN;
STICKLINE(XG2,GDCS23,GDCS23,2,0),COLORFF8000;
STICKLINE(XG1,GDCS13,GDCS13,2,0),COLORYELLOW;
STICKLINE(XD2,DDCS23,DDCS23,2,0),COLORGRAY;
STICKLINE(XD1,DDCS13,DDCS13,2,0),COLORCYAN;
B1:=FILTER(A1,10);
C1:=BACKSET(B1,10+1);
D1:=FILTER(C1,10);{高点}
A2:=REF(LOW,10)=LLV(LOW,2*10+1);
B2:=FILTER(A2,10);
C2:=BACKSET(B2,10+1);
D2:=FILTER(C2,10);{低点}
E1:=(REF(LLV(LOW,2*10),1)+REF(HHV(HIGH,2*10),1))/2;
E2:=(HIGH+LOW)/2;
H1:=(D1 AND NOT((D2 AND E1>=E2))) OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
L1:=(D2 AND NOT((D1 AND E1<E2)));
H2:=D1 AND NOT((D2 AND E1>=E2));
X1:=REF(BARSLAST(H1),1)+1;
F1:=BACKSET(H1 AND COUNT(L1,X1)>0,LLVBARS(IF(L1,LOW,10000),X1));
G1:=F1>REF(F1,1);
I1:=BACKSET(G1,2);
LD:=I1>REF(I1,1);{过滤后低点}
L2:=LD OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
X2:=REF(BARSLAST(L2),1)+1;
F2:=BACKSET(L2 AND COUNT(H2,X2)>0,HHVBARS(IF(H2,HIGH,0),X2));
G2:=F2>REF(F2,1);
I2:=BACKSET(G2,2);
HD:=I2>REF(I2,1);{过滤后高点}
浪折线上:DRAWLINE(LD,L,HD,H,0),COLOR00FFFF,LINETHICK1;
下:DRAWLINE(HD,H,LD,L,0),COLOR00FFFF,LINETHICK1;
J1:=BACKSET(ISLASTBAR ,MIN(BARSLAST(HD),BARSLAST(LD))+1);
J2:=J1>REF(J1,1);
顶底线:DRAWLINE(J2,IF(HD,H,L),ISLASTBAR ,IF(BARSLAST(HD)>BARSLAST(LD),H,L),0),COLOR00FF00;
UU:=BACKSET(ISLASTBAR,BARSLAST(LD)+1);
VV:=UU>REF(UU,1);
WW:=BACKSET(VV,REF(BARSLAST(LD),1)+2);
XX:=WW>REF(WW,1);
浪底粗线:DRAWLINE(XX,L,VV,L,1),COLORFFFFFF,LINETHICK2,DOTLINE;
UU2:=BACKSET(ISLASTBAR,BARSLAST(HD)+1);
VV2:=UU2>REF(UU2,1);
WW2:=BACKSET(VV2,REF(BARSLAST(HD),1)+2);
XX2:=WW2>REF(WW2,1);
浪顶细线:DRAWLINE(XX2,H,VV2,H,1),COLORFFFF00,LINETHICK1,DOTLINE;
N:=WEEKDAY;
AA:=REF(H,N)=HHV(H,2*N+1);
AA1:=REF(L,N)=LLV(L,2*N+1);
QY:=BACKSET(AA,N+1);
QY1:=BACKSET(AA1,N+1);
CC:=FILTER(QY,N) AND H=HHV(H,N+1);
CC1:=FILTER(QY1,N) AND L=LLV(L,N+1);
DDD:=BARSLAST(CC);
DD1:=BARSLAST(CC1);
GDTS:=IF(CC,CURRBARSCOUNT,0);
DDTS:=IF(CC1,CURRBARSCOUNT,0);
DINGBUTS:=IF(DDD,REF(GDTS,DDD),GDTS);
DDTS1:=IF(DD1,REF(DDTS,DD1),DDTS);
GDCS1:=CONST(DINGBUTS);
DDCS1:=CONST(DDTS1);
GDCS13:=CONST(REF(HIGH,GDCS1-1));
DDCS13:=CONST(REF(L,DDCS1-1));
DINGBUTS1:=REF(DINGBUTS,DDD+1);
DDTS2:=REF(DDTS1,DD1+1);
GDCS2:=CONST(DINGBUTS1);
DDCS2:=CONST(DDTS2);
GDCS23:=CONST(REF(HIGH,DINGBUTS1-1));
DDCS23:=CONST(REF(L,DDTS2-1));
XG1:=BACKSET(ISLASTBAR,GDCS1);
XD1:=BACKSET(ISLASTBAR,DDCS1);
XG2:=BACKSET(ISLASTBAR,DINGBUTS1);
XD2:=BACKSET(ISLASTBAR,DDTS2);
{更多指标关注微信公众号:程序化指标}
EXP1:=EMA(CLOSE, 12), COLORYELLOW, LINETHICK1;
EXP2:=EMA(CLOSE, 47), COLORLIMAGENTA, LINETHICK1;
STICKLINE(C>EXP1 AND C>EXP2, H, L, 0, 0), COLORRED;{上下影线,可不画}
STICKLINE(C>EXP1 AND C>EXP2 AND C>=O, O, C, 2.3, 1), COLORRED;
STICKLINE(C>EXP1 AND C>EXP2 AND C<O, O, C, 2.3, 0), COLORRED;
STICKLINE(C<EXP1 AND C>EXP2, H, L, 0, 0), COLORYELLOW;{上下影线,可不画}
STICKLINE(C<EXP1 AND C>EXP2 AND C>=O, O, C, 2.3, 1), COLORYELLOW;
STICKLINE(C<EXP1 AND C>EXP2 AND C<O, O, C, 2.3, 0),COLORYELLOW;
STICKLINE(C>EXP1 AND C<EXP2, H, L, 0, 0),COLORFF8000;{上下影线,可不画}
STICKLINE(C>EXP1 AND C<EXP2 AND C>=O, O, C, 2.3, 1), COLORFF8000;
STICKLINE(C>EXP1 AND C<EXP2 AND C<O, O, C, 2.3, 0),COLORFF8000;
STICKLINE(C<EXP1 AND C<EXP2, H, L, 0, 0), COLORGREEN;{上下影线,可不画}
STICKLINE(C<EXP1 AND C<EXP2 AND C>=O, O, C, 2.3, 1), COLORGREEN;
STICKLINE(C<EXP1 AND C<EXP2 AND C<O, O, C, 2.3, 0), COLORGREEN;
STICKLINE(XG2,GDCS23,GDCS23,2,0),COLORFF8000;
STICKLINE(XG1,GDCS13,GDCS13,2,0),COLORYELLOW;
STICKLINE(XD2,DDCS23,DDCS23,2,0),COLORGRAY;
STICKLINE(XD1,DDCS13,DDCS13,2,0),COLORCYAN;

指标公式逻辑介绍
波浪结构识别系统
高低点过滤算法:
使用10日窗口识别局部高低点(D1/D2)
通过BACKSET和FILTER函数二次验证
引入中点比较(E1/E2)过滤假突破
波浪折线绘制:
黄色折线:连接有效高低点(浪折线上/下)
绿色顶底线:标记最后一段趋势
白色粗虚线:浪底支撑线
黄色细虚线:浪顶压力线
2. 周线级趋势标记
GDCS/DDCS系统:
基于WEEKDAY周期的极值点识别
使用CONST函数固定历史关键位
四色标记线:
橙色:次高压力
黄色:主高压力
灰色:次低支撑
青色:主低支撑
3. 双EMA趋势系统
EXP1(12日)/EXP2(47日):
红色K线:双线上方(强势)
黄色K线:EXP2上方但EXP1下方(反弹)
橙色K线:EXP1上方但EXP2下方(调整)
绿色K线:双线下方(弱势)
✅ 买入时机:
价格触及青色主支撑线
出现阳线且收于浪底粗线上方
EXP1金叉EXP2(黄转红)
✅ 卖出时机:
价格触及黄色主压力线
出现阴线且跌破浪顶细线
EXP1死叉EXP2(红转绿)