N:=10;AA10:=REF(H,N)=HHV(H,2*N+1); AA11:=REF(L,N)=LLV(L,2*N+1);QY10:=BACKSET(AA10,N+1); QY11:=BACKSET(AA11,N+1);CC10:=FILTER(QY10,N) AND H=HHV(H,N+1);CURRBARSCOUNT:=DATACOUNT-BARPOS+1;CC11:=FILTER(QY11,N) AND L=LLV(L,N+1);DDD10:=BARSLAST(CC10); DD11:=BARSLAST(CC11);GDTS1:=IF(CC10,CURRBARSCOUNT,0); DDTS10:=IF(CC11,CURRBARSCOUNT,0);DINGBUTS10:=IF(DDD10,REF(GDTS1,DDD10),GDTS1); DDTS11:=IF(DD11,REF(DDTS10,DD11),DDTS10);GDCS10:=REFX1(DINGBUTS10,10000); DDCS10:=REFX1(DDTS11,10000);DINGBUTS11:=REF(DINGBUTS10,DDD10+1); DDTS20:=REF(DDTS11,DD11+1);GDCS2:=REFX1(DINGBUTS11,10000); DDCS2:=REFX1(DDTS20,10000);DRAWSL(ISLASTBAR&&C>REF(H,GDCS2-1),REF(H,GDCS2-1),0,-GDCS2+1,0,COLORRED),LINETHICK2;DRAWSL(ISLASTBAR&&C<REF(H,GDCS2-1),REF(H,GDCS2-1),0,-GDCS2+1,0,COLORGREEN),LINETHICK2;KTEXT(ISLASTBAR&&C>REF(H,GDCS2-1),-GDCS2+1,REF(H,GDCS2-1),1,COLORRED,'高1'),COLORRED;KTEXT(ISLASTBAR&&C<REF(H,GDCS2-1),-GDCS2+1,REF(H,GDCS2-1),1,COLORGREEN,'高1'),COLORGREEN;
DRAWSL(ISLASTBAR&&C>REF(H,GDCS10-1),REF(H,GDCS10-1),0,-GDCS10+1,0,COLORRED),LINETHICK2;DRAWSL(ISLASTBAR&&C<REF(H,GDCS10-1),REF(H,GDCS10-1),0,-GDCS10+1,0,COLORGREEN),LINETHICK2;KTEXT(ISLASTBAR&&C>REF(H,GDCS10-1),-GDCS10+1,REF(H,GDCS10-1),1,COLORRED,'高2'),COLORRED;KTEXT(ISLASTBAR&&C<REF(H,GDCS10-1),-GDCS10+1,REF(H,GDCS10-1),1,COLORGREEN,'高2'),COLORGREEN;
DRAWSL(ISLASTBAR&&C>REF(L,DDCS2-1),REF(L,DDCS2-1),0,-DDCS2+1,0,COLORRED),LINETHICK2;DRAWSL(ISLASTBAR&&C<REF(L,DDCS2-1),REF(L,DDCS2-1),0,-DDCS2+1,0,COLORGREEN),LINETHICK2;KTEXT(ISLASTBAR&&C>REF(L,DDCS2-1),-DDCS2+1,REF(L,DDCS2-1),1,COLORRED,'低1'),VALIGN0;KTEXT(ISLASTBAR&&C<REF(L,DDCS2-1),-DDCS2+1,REF(L,DDCS2-1),1,COLORGREEN,'低1'),VALIGN0;
DRAWSL(ISLASTBAR&&C>REF(L,DDCS10-1),REF(L,DDCS10-1),0,-DDCS10+1,0,COLORRED),LINETHICK2;DRAWSL(ISLASTBAR&&C<REF(L,DDCS10-1),REF(L,DDCS10-1),0,-DDCS10+1,0,COLORGREEN),LINETHICK2;KTEXT(ISLASTBAR&&C>REF(L,DDCS10-1),-DDCS10+1,REF(L,DDCS10-1),1,COLORRED,'低2'),COLORRED,VALIGN0;KTEXT(ISLASTBAR&&C<REF(L,DDCS10-1),-DDCS10+1,REF(L,DDCS10-1),1,COLORGREEN,'低2'),COLORGREEN,VALIGN0;
低1:=CROSS(BACKSET(ISLASTBAR&&C>REF(L,DDCS2-1),DDCS2),0.5)||CROSS(BACKSET(ISLASTBAR&&C<REF(L,DDCS2-1),DDCS2),0.5);低2:=CROSS(BACKSET(ISLASTBAR&&C>REF(L,DDCS10-1),DDCS10),0.5)||CROSS(BACKSET(ISLASTBAR&&C<REF(L,DDCS10-1),DDCS10),0.5);DRAWLINE1(低1,L,低2,L,1);
DRAWLINE3(低1,H,0,低2,L+REF(H-L,BARSLAST(低1)),0,1);
核心功能
该指标通过算法识别历史高点和低点,自动绘制支撑阻力线,帮助交易者判断关键价位。
代码解析
参数设置
-
N:=10:设置基准周期为10
高低点识别逻辑
text
AA10:=REF(H,N)=HHV(H,2*N+1); // N周期前高点是否为2N+1周期内最高 AA11:=REF(L,N)=LLV(L,2*N+1); // N周期前低点是否为2N+1周期内最低
通过BACKSET和FILTER函数过滤出有效的高低点。
关键变量说明
-
GDCS10,GDCS2:高点的位置索引 -
DDCS10,DDCS2:低点的位置索引
-
DINGBUTS10:顶部位置计算 -
DDTS11:底部位置计算
图形绘制
-
红色/绿色趋势线:使用
DRAWSL绘制支撑阻力线 -
文字标注:
KTEXT函数标注’高1’、’高2’、’低1’、’低2′ -
连接线:
DRAWLINE1和DRAWLINE3连接相关高低点
使用要点
-
颜色含义 碰到红线做多 碰到绿线 做空!
-
红色:价格在该线之上,视为支撑.做多为主
-
绿色:价格在该线之下,视为阻力 做空为主
层级标识
-
‘高1/低1’:主要支撑阻力位
-
‘高2/低2’:次要支撑阻力位
应用场景
-
识别关键支撑阻力区域
-
判断价格突破的有效性
-
寻找入场和出场位置
| 友情提示:本文内容仅作为知识分享,供交流学习使用,不构成任何投资建议,不作为投资依据。 |