[ZX260915]箱体顶底主图-通达信指标源码分享

【免责声明】本文只讲箱体作图的算法思路与信号含义,属程序代码科普,不构成任何投资建议。市场有风险,据此操作盈亏自负。
01 给股价框一间房,天花板地板先立起来
看盘久了,常觉得股价在一个腔体里来回碰壁。低点一排是地板,高点一排是天花板,挨到哪边就往回弹。这套箱体顶底主图,干的就是把这两条线自动画出来,再多给你几档参照,不用自己对着盘面描。
速查卡(五秒扫完):
| 箱顶箱底 | 价位档 | 承重双线 | 变盘枢轴 |
半句话概括:上面给你盖顶,下面给你铺底,中间再支两根梁,一眼知道价格待在箱子里哪一格。
02 指标源码分享|箱体顶底

MA1:MA(CLOSE,17),COLORFF00FF,LINETHICK2;MA2:IF(MA1>=REF(MA1,1),MA1,DRAWNULL),COLORFF00FF,LINETHICK1;MA3:IF(REF(MA1,1)>MA1,MA1,DRAWNULL),COLOR59A100,LINETHICK2;箱顶:MA(REF(HHV(C,10),1),1),LINETHICK1,COLORFFA188;箱底:MA(REF(LLV(C,10),1),1),LINETHICK1,COLORFFA188;VARB:=IF(CLOSE>150,91.3,0.913);MA4:MA(CLOSE,2),COLOR0300B2,LINETHICK2;MA5:IF(MA4>=REF(MA4,1),MA4,DRAWNULL),COLORRED,LINETHICK1;MA6:IF(REF(MA4,1)>MA4,MA4,DRAWNULL),COLORFFEAC8,LINETHICK2;下沿:INTPART(CLOSE/VARB)*VARB,POINTDOT,LINETHICK4,COLOR5B6EE0;上沿:下沿+VARB,POINTDOT,LINETHICK4,COLOR00FF00;中线:(下沿+上沿)/2,POINTDOT,COLORWHITE,LINETHICK4;STICKLINE(MA1>MA4,MA1,MA4,0,0),COLORFFA610;STICKLINE(MA1<MA4,MA4,MA1,0,0),COLOR00FFFF;STICKLINE((C<O),OPEN,CLOSE,3,0),COLORCC9A85;STICKLINE((C<O),HIGH,LOW,0,0),COLORCCBBAD;STICKLINE((C>=O),OPEN,CLOSE,3,0),COLOR0000DD;STICKLINE((C>=O),HIGH,LOW,0,0),COLOR0000FF;顶压:HHV(MA(H,11),50),COLOR00FFFF;短压:HHV(MA(H,11),15),COLOR0090E0;XL1:=LLV(MA(H,11),1);趋势:IF(XL1>=短压,短压,XL1),COLORFFFFFF;X1:=(3*C+H+L+O)/6;X2:=EMA(X1,10);X3:=REF(X2,1);X4:=(REF(HIGH,1)+REF(LOW,1))/2;X5:=MA(CLOSE,21)+2*STD(CLOSE,21);X6:=REF(CLOSE,1);X7:=SMA(MAX(CLOSE-X6,0),7,1)/SMA(ABS(CLOSE-X6),7,1)*100;X8:=CROSS(79,X7);X9:=FILTER(X8,4);WZ1:=POW(MA(CLOSE,5),2)+MA(CLOSE,5);WZ2:=POW(MA(LOW,5),2)+MA(LOW,5);WZ3:=POW(MA(HIGH,5),2)+MA(HIGH,5);WZ4:=(WZ1-LLV(WZ2,9))/(HHV(WZ3,9)-LLV(WZ2,9))*150+65;DK:=SMA(WZ4,3,1)*1.5;DD:=SMA(DK,3,1);DJ:=3*DK-2*DD;WZ5:=EMA(CLOSE,12)-EMA(CLOSE,26);WZ6:=EMA(WZ5,9);WZ7:=2*(WZ5-WZ6);WZ8:=REF(WZ7,1);WZ9:=CROSS(WZ8,WZ7)ANDWZ8>0;DRAWTEXT(WZ9ANDDJ>250,H,'←位置标注'),COLORBCFF8B;VAR11:=EMA(CLOSE,8);VAR2:=EMA(VAR11,20);VAR3:=CROSS(VAR11,VAR2);VAR4:=VAR11<MA(CLOSE,120);VAR5:=(HHV(HIGH,36)-CLOSE)/(HHV(HIGH,36)-LLV(LOW,36))*100;VAR6:=SMA(VAR5,5,1);VAR7:=SMA(VAR6,8,1);VAR8:=CROSS(VAR6,VAR7)ANDVAR7<20;VAR9:=CLOSE>LLV(CLOSE,60)+0.3*LLV(CLOSE,60)ANDVAR8;VARA:=IF(CLOSE>1000,VAR8,VAR9);信号位:=VAR3ANDVAR4;高位标注:=VARA;STICKLINE(X2>X3,X2*0.98,X2,6,1),COLOR0000FF;STICKLINE(X2<X3,X2*0.98,X2,6,1),COLORF10011;WW1:=SUM(MA(C,10),9)/10.110;XX1:=MA(LOW,2)*0.96;XX2:=MA(LOW,26)*0.85;XX3:=REF(XX1,1)<XX2ANDREF(XX1,1)<XX1ANDREF(XX1,1)<REF(XX1,2);VAR1:=INDEXC;VAR12:=MA(VAR1,6);VAR13:=MA(VAR1,24);VAR14:=MA(VAR1,32);VAR15:=MA(VAR1,62);VAR16:=MA(VAR1,105);VAR17:=VAR15<REF(VAR15,1)ANDVAR6<REF(VAR16,1)ANDVAR15<VAR6*0.98;VAR18:=VAR14>VAR12*1.11ANDVAR13>VAR12*1.095;VAR19:=VAR12>VAR1*0.95;VAR111:=EMA(WINNER(CLOSE)*70,3);VAR112:=EMA((WINNER(CLOSE*1.1)-WINNER(CLOSE*0.9))*80,3);VAR113:=CLOSE/MA(CLOSE,40)*100<76;VAR114:=CLOSE/MA(CLOSE,60)*100<74;VAR115:=HIGH>LOW*1.051;VAR116:=VAR115ANDCOUNT(VAR15,5)>1;VAR117:=VAR17ANDVAR8ANDVAR19ANDCLOSE/COST(8)<=0.8AND(CLOSE>OPENORCLOSE<OPEN)AND(REF(CLOSE,1)>REF(OPEN,1)ORREF(CLOSE,1)<REF(OPEN,1))ANDCLOSE>0.1ORVAR16AND(VAR113ORVAR114)ANDVAR112<20ANDVAR111<20AND(WINNER(CLOSE*125/100)-WINNER(CLOSE))*100<7.5ORTROUGHBARS(3,15,1)<4ANDCROSS(EMA(CLOSE,21)-EMA(CLOSE,8),EMA(EMA(CLOSE,21)-EMA(CLOSE,8),5));XL11:=EMA(CLOSE,10)/100;XL2:=MA((XL11-REF(XL11,10))/REF(XL11,10),3)*100;XL3:=MA(XL2,3);XL4:=SMA((CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100,3,1);DRAWTEXT(IF(CROSS(3*XL4-2*SMA(XL4,3,1),8),87,0)ANDX2>X3,L-0.1,'←定位低点'),COLORGREEN;DRAWTEXT(IF(CROSS((VAR11-LLV(VAR1,4))/(HHV(VAR11,4)-LLV(VAR11,4))*4*25,87.5)ANDVAR1<40,87,0)ANDX2>X3,L-0.2,'←定位信号②'),COLORFFBBD8;DRAWTEXT(CROSS(VAR1,10)ANDX2>X3,L-0.3,'←定位信号①'),COLOR89B2FF;DRAWTEXT(IF(CROSS(2*(EMA((CLOSE*2+HIGH+LOW)/4,12)-EMA((CLOSE*2+HIGH+LOW)/4,26)-EMA(EMA((CLOSE*2+HIGH+LOW)/4,12)-EMA((CLOSE*2+HIGH+LOW)/4,26),2))*5.8,0.47),LOW,0)ANDX2>X3,L-0.4,'←位置标注'),COLORFF5ED8;LL1:=(EMA(CLOSE,3)-EMA(CLOSE,13));LL2:=EMA(LL1,9);LL3:=BARSLAST(CROSS(LL1,LL2));LL4:=REF(LL3,LL3+1);LL5:=LL2<REF(LL2,LL4);变盘:=CROSS(LL1,LL2)ANDLL5;DRAWTEXT(信号位>0,L,'★信号位?'),COLOR00FF00;STICKLINE(信号位>0,C*1.05,C,7,0),COLORRED;DRAWTEXT(高位标注>0,H*1.04,'●←高位标注'),COLOR7FFFD6;
顺手把 #箱体顶底# 这个话题钉一下,平时跟 #箱体##上下沿# 绑在一块儿聊。
03 天花板地板怎么来:先量,再切
先看顶和底,它们是整间房的骨架:
箱底 := MA(REF(LLV(C,10),1),1);
REF 把镜头拨到昨天,LLV 往前数十天抓最低,再套一层 MA,等于把十天前低抹成一条顺滑的地板。天花板正好相反,用 HHV 取十天前高。为什么不直接画当天最值?当天那根还在动,画出来会跟着抖,拨过去一天再抹平,线就稳了。
单画地板还不够,得让箱子有刻度。关键藏在这行:
VARB := IF(CLOSE>150,91.3,0.913);
这是根价位尺子。股价过一百五,一个格算 91.3;没过,一个格算 0.913。两档单价,是给不同身价的票配不同粗细的格子。一格太大,小票磨成一条线;一格太小,大票切得密密麻麻,电脑都嫌烦。两档分界放在一百五,是试下来高低两头都还能看的点。
有了格,下沿上沿就跟着出来:
下沿 := INTPART(CLOSE/VARB)*VARB;
INTPART 是取整数部分。先把收盘价除以格值,扔掉小数点后的零头,再乘回格值——这下价格就被"钉"到最近的一格上了。上沿只用加一个格子单位。跌到哪、涨到哪,都在这两格之间数着走,箱体的上下沿其实是这么切出来的。
顶底有了,箱子里的水得有人看着。十七日线是根承重梁:
MA4 := MA(CLOSE,2);
这是两日快线,贴着价走;另一根十七日的是慢承重线。一条跟着价格喘,一条描大趋势,STICKLINE 再把两线之间的虚实涂上色,价格站上承重梁是一种走法、落到梁下是另一种。梁断没断,一眼分得清。
末了还有个懂"变盘"的家伙:
LL1 := (EMA(CLOSE,3)-EMA(CLOSE,13));
短均线减长均线,得出一个差不值。这个差从小到大、又从大回落的临界点,常常挨着趋势换向的关节。括号外再加一层均线和 BARSLAST 数周期,把它在交点前后的位置钉出来。它不抢话,只在关键那几格给你提个醒。
把整间房收拢:先量十天立顶底,再用两档价位切网格,快慢双线看梁的虚实,末了差不归零要留神。以后看着图上那几条线,就知道它们背后各是哪层算法在较劲。
评论区聊聊,画箱体你是照着顶底框,还是凭手感描。
