[ZS261106]阳光箱体主图-通达信指标源码分享

01 箱顶箱腰箱低,三块隔板怎么钉上去
收盘敲下那一秒,图上三条线把价格夹在正当中,像仓库里打了三块隔板。上板、下板加一根腰线,它就在格子里来回蹭,蹭到顶又弹回腰,看得人眯起眼。
阳光箱体主图指标这名字绕口,说穿了就一句:拿最高价最低价钉成上下两块板,中间再架一根腰,让价格身上的"活动范围"有处可放。
速查卡(五秒扫完):
| 箱顶 A196 日最高的上边界 |
| 箱低 B196 日最低的下边界 |
| 箱腰 D顶低的中间价 |
| 五/二O5 日与 20 日均线打底 |
02 指标源码分享|阳光箱体主图
说回箱体这东西,我常把它跟 #主图指标# #通达信公式# 放一块儿盘,不过它跟均线哪天叠、哪天脱,看多了心里就有杆秤。

指标编号:ZS261106
指标完整源码:
AB:=EMA(((2*C+H+L)/4-LLV(LOW,30))/(HHV(HIGH,30)-LLV(LOW,30))*100,8);BA:=EMA(AB,5);A1:=REFDATE(REF(HHV(H,96),5),DATE);B1:=REFDATE(REF(LLV(L,96),5),DATE);D:=((A1)+(B1))/2;五:MA(C,5),LINETHICK2,COLOR00FFFF;二O:EMA(C,20),COLORMAGENTA;回压带:IF(AB-BA<0,五,DRAWNULL),LINETHICK2,COLOR00FFFF;抬升带:IF(AB-BA>0,五,DRAWNULL),LINETHICK2,COLORRED;箱顶:IF(AB>0ANDAB-BA<=0,A1,A1),LINETHICK3,COLOR00FF00;箱腰:IF(AB>0ANDAB-BA<=0,D,D),LINETHICK3,COLOR00FF00;箱低:IF(AB>0ANDAB-BA<=0,B1,B1),LINETHICK3,COLOR00FF00;五日转点:IF(CURRBARSCOUNT=6,L*0.992-0.02,DRAWNULL),CROSSDOT,COLORWHITE,LINETHICK3;十日转点:IF(CURRBARSCOUNT=11,L*0.992-0.02,DRAWNULL),CROSSDOT,COLORYELLOW,LINETHICK3;二十日转点:IF(CURRBARSCOUNT=21,L*0.992-0.02,DRAWNULL),CROSSDOT,COLORRED,LINETHICK3;三十日转点:IF(CURRBARSCOUNT=31,L*0.992-0.02,DRAWNULL),CROSSDOT,COLORCYAN,LINETHICK3;六十日转点:IF(CURRBARSCOUNT=61,L*0.992-0.02,DRAWNULL),CROSSDOT,COLORYELLOW,LINETHICK3;九十日转点:IF(CURRBARSCOUNT=91,L*0.992-0.02,DRAWNULL),CROSSDOT,COLORYELLOW,LINETHICK3;高1:IF(AB>0ANDAB-BA>0,A1,DRAWNULL),LINETHICK3,COLORRED;中1:IF(AB>0ANDAB-BA>0,D,DRAWNULL),LINETHICK3,COLORRED;低1:IF(AB>0ANDAB-BA>0,B1,DRAWNULL),LINETHICK3,COLORRED;
03 那几块隔板,是拿什么算出来的
别信箱子是随手画的。得先把价格"中心点"求出来,通行的做法,给收盘价两倍的分量,跟最高最低混一混:
AB:=EMA(((2*C+H+L)/4-LLV(LOW,30))/(HHV(HIGH,30)-LLV(LOW,30))*100,8)
前面那截 (2C+H+L)/4 是加权中位价,收盘占大头,最高最低一人一票。减去 30 日最低,再除以 30 日从底到顶的宽度,就把这天的相对位置贡献到 0 到 100 之间。外围罩一层 EMA,窗给它 8。
8 这个窗我掂量过。给到 4,线嗷嗷叫,它喘口气就跟着抖;磨到 16,又懒得动,位置都偏离老远才追上来。8 卡中间,既挡得住噪音,又跟得上腰身。
再往后,原作者把这根 AB 又套了一层 5 的壳,叫 BA。AB 减 BA 谁大谁小,决定了下方 5 日均线是当回压侧还是当抬升侧:
BA:=EMA(AB,5)
AB 比 BA 高,说明势头正踩油门,IF(AB-BA>0,五,…) 就把 5 日线涂成抬升带(红);反过来 AB 落下风口,转成回压带(绿),一根线身兼两职。
那得说,老机油那套 5 配 8 的组合,正是"快的那层别太急、慢的那层别太拖"的搭法——既然头顶又有两板一腰钉着,锁住它们的,靠的还是 REFDATE 那把锁:
那得说,箱顶一锁、箱腰一稳,底下这层 A1 配 B1,才是整箱的梁。
A1:=REFDATE(REF(HHV(H,96),5),DATE)
B1:=REFDATE(REF(LLV(L,96),5),DATE)
先请出 96 日最高,再用 REF(.,5) 往后挪 5 天,专绕开今天这根还没走完的 K 线。那得说,贴身的 REFDATE 就把那条历史轴线对到了今天的日期上,箱顶箱低这才钉死在图上,不随收盘价乱漂。
这个 96 的宽度,是箱子的性格。压到 60,板贴得太近,价一冲就顶破,板子三天两头重画。
扯到 120,板又放得远,日子全窝在中间,那根腰线就没了存在感。60 到 120 之间,这把 96 是修车老师傅常留的扳手,够长也够灵。
REF 挪 5 天同理,挪 3 天太贴今天、挪 8 天太远失真,那得说落中间那个档最顺手。
中间的箱腰 D 就是 (A1+B1)/2,四舍五入一道算术。至于 CURRBARSCOUNT=6/11/21 那几个转点标的,是"离今天往前数第 6 根"这种定位笔,专门标注转折参考位,跟箱子算法是一回事的两层皮。
那两根打底的均线也不闲置,五那条贴价走,二 O 那条拉长了当慢尺,一快一慢把箱腰上下夹住,价滑出它俩身位时,几块隔板的坐标就更有准头。箱体这东西不用天天死盯,隔两三天对一眼顶、低、腰落在哪,心里就稳当。
这套箱体的命门就三处:归一窗口用 30,平滑用 5 配 8,箱子尺寸用 96 加 5。参数看懂了,改起来不慌。
