[AG261117]RSI自动画线副图-通达信指标源码分享

01 先给RSI软尺打个底,顶和底自己会显形
我桌上那把老软尺,量了十几年领口袖长。看这张图我总想起它——RSI 就是一根上下来回窜的尺子,把它摁在副图上,强弱一目了然。它本身不会画线,这指标的本事,是把摆到高点和低点上的那几颗钉子串起来,再顺手弹两条 压力线、支撑线。
引擎有几台?就一台。RSI 摆动,找点,连线。
速查卡(五秒扫完):
1 局部高点 前后十根里最尖那下 | 2 局部低点 前后十根里最塌那下 | 3 压力线 两个高点连一条 | 4 支撑线 两个低点连一条 |
别急着往下看代码。先有刻度,钉子上去才有地方挂。
02 指标源码分享|RSI自动画线副图

指标编号:AG261117
指标完整源码:
HIGHN:=5;LC:=REF(C,1);RSI1:SMA(MAX(C-LC,0),12,1)/SMA(ABS(C-LC),12,1)*100,COLORRED,LINETHICK1;LOWN:=HIGHN;AA:=REF(RSI1,HIGHN)=HHV(RSI1,2*HIGHN+1);QY:=BACKSET(AA,HIGHN+1);CC:=FILTER(QY,HIGHN)ANDRSI1=HHV(RSI1,HIGHN+1);DRAWICON(CC,RSI1*1.02,2);DDD:=BARSLAST(CC);GDTS:=IF(CC,CURRBARSCOUNT,0);DINGBU:=IF(DDD,REF(RSI1,DDD),RSI1);{顶部}DINGBUTS:=IF(DDD,REF(GDTS,DDD),GDTS);DINGBU1:=REF(DINGBU,DDD+1);GDCS1:=CONST(DINGBUTS);DINGBUTS1:=REF(DINGBUTS,DDD+1);GDCS2:=CONST(DINGBUTS1);DINGBU2:=REF(DINGBU1,DDD+1);MM:=IF(CURRBARSCOUNT>GDCS2,0,1);高点压力:DRAWLINE(CURRBARSCOUNT=GDCS2,RSI1,CURRBARSCOUNT=GDCS1,RSI1,1)COLORGREEN,LINETHICK1;DRAWLINE(CURRBARSCOUNT=GDCS2,RSI1,ISLASTBAR,REF(RSI1,GDCS2-1),1),COLORBLUE;DRAWLINE(CURRBARSCOUNT=GDCS1,RSI1,ISLASTBAR,REF(RSI1,GDCS1-1),1),COLORCYAN;AA1:=REF(RSI1,LOWN)=LLV(RSI1,2*LOWN+1);QY1:=BACKSET(AA1,LOWN+1);CC1:=FILTER(QY1,LOWN)ANDRSI1=LLV(RSI1,LOWN+1);低位标:DRAWICON(CC1,RSI1*0.98,1);DD1:=BARSLAST(CC1);DDTS:=IF(CC1,CURRBARSCOUNT,0);YDB:=IF(DD1,REF(RSI1,DD1),RSI1);DDTS1:=IF(DD1,REF(DDTS,DD1),DDTS);DDCS1:=CONST(DDTS1);ZDB:=REF(YDB,DD1+1);DDTS2:=REF(DDTS1,DD1+1);DDCS2:=CONST(DDTS2);低点支撑:DRAWLINE(CURRBARSCOUNT=DDCS2,RSI1,CURRBARSCOUNT=DDCS1,RSI1,1)COLORRED,LINETHICK1;DRAWLINE(CURRBARSCOUNT=DDCS1,RSI1,ISLASTBAR,REF(RSI1,DDCS1-1),1),COLORMAGENTA;DRAWLINE(CURRBARSCOUNT=DDCS2,RSI1,ISLASTBAR,REF(RSI1,DDCS2-1),1),COLORYELLOW;80;20;
顺手把 #RSI# 这个话题钉一下,平时它跟 #压力线#、#顶底# 绑在一块儿聊,一张图基本跑不出这三样。
03 一层层往上浇:从一根尺子到两条斜线
先说底。这指标所有活儿都挂在一个叫 RSI1 的线上,它把最近十二天的涨劲和跌劲掰扯清楚,摊成一根能在上面爬的尺子。
RSI1:SMA(MAX(C-LC,0),12,1)/SMA(ABS(C-LC),12,1)*100;
这一层的门道在十二。周期给到六,它太跳,一天一个脸色,抓的全是毛刺;拉到二十四又太钝,等它慢悠悠转过头,那一段早走完半截了。十二卡在当中,一天里多空换手那点节奏刚好摊得平,又不至于磨成一条死线。分子数涨的那口气、分母数一整天的折腾,除一除,强弱就有了。
往上浇第二层,是找顶。判断顶的那行 AA 干的是这么件事:拿某根 RSI 的读数,跟它前后各五根凑成的十一格里最尖的那个比,一模一样,就说明这根是个山头。
AA:=REF(RSI1,HIGHN)=HHV(RSI1,2*HIGHN+1);
窗口为什么是五?往前往后各挪二格,稍微晃一下就冒个"顶"出来,满屏都是假尖;各挪九格呢,真顶压着都认不出来,等确认黄花菜都凉了。五格这个度,够滤掉手抖的小波动,又不至于把一座实山漏掉。这个 HIGHN 后面低点那头还会再用到一次,是同一个数两头共用。
可光认出行不行——AA 判的是"当下这根是顶",信号会滞后半天。所以还得让 BACKSET 往回描一笔,把顶那一下的坐标扣准,再拿 FILTER 把挨太近的重复钉子掐掉,一个山头只钉一颗。裁缝走线也讲究这个:一个位置扎一针就够,扎密了领口就起褶。
再往上浇,才是那两条斜线。找高点压力这行,靠 CONST 把已经钉好的两个顶的水平坐标取出来,两头一连,一条往右伸的 压力线 就成型了;低点那头的 低点支撑 是镜像做法,一模一样倒过来。
高点压力:DRAWLINE(CURRBARSCOUNT=GDCS2,RSI1,CURRBARSCOUNT=GDCS1,RSI1,1);

我反倒更信 BACKSET 回描这一手。当下取点容易跟着最末一根漂,等图右端又多出两根,先前那颗钉就歪了。回描是等山头真坐实了再落针,画出来的线稳当。
有朋友问这图啥时候会骗你。横盘里它最先犯迷糊——十几根挤成一团,高点低点挨得太近,FILTER 掐完也剩不下几颗,两条线要么连不成、要么连得跟尺子似的平,这时候压力位支撑位基本没参考头,得回头去看量能有没有松动再定。
