{==============================================================================}
{  缠论拆解 · 第4层【中枢】（通达信，独立公式）                             }
{  定义：中枢 = 某级别走势中，至少三个连续次级别走势所重叠的区间             }
{        上沿 ZG=三段高点中最低者，下沿 ZD=三段低点中最高者，ZD<ZG 成立      }
{  本层 = 分型 + 笔 + 线段 + 大级别 + 线段端点 + 中枢(三顶三底、四种形态)     }
{  观察：四色矩形=中枢区间（洋红/浅绿/青/浅蓝四种形态），绿线=ZG~ZD标准中枢   }
{==============================================================================}
{--- 分型（顶分型=+1 / 底分型=-1）---}
JBDDYXA:=BACKSET(LLV(L,5)<REF(LLV(L,4),1),4);
JBDDYXB:=BACKSET(JBDDYXA=0 AND REF(JBDDYXA,1)=1,2);
JBDDYXC:=IF(JBDDYXB=1 AND REF(JBDDYXB,1)=0,-1,0);
JBGDYXA:=BACKSET(HHV(H,5)>REF(HHV(H,4),1),4);
JBGDYXB:=BACKSET(JBGDYXA=0 AND REF(JBGDYXA,1)=1,2);
JBGDYXC:=IF(JBGDYXB=1 AND REF(JBGDYXB,1)=0,1,0);

QKPD:=IF(L>REF(H,1),1,IF(H<REF(L,1),-1,0));

{--- 笔（第一层：DBL底笔=-1 / GBL顶笔=+1）---}
JQTG:=BARSLAST(JBGDYXC=1);
JQDD:=BARSLAST(JBDDYXC=-1);
XZZQ:=LOWRANGE(L);
DZZQ:=TOPRANGE(H);
DBLAA:=IF(JBDDYXC=-1 AND REF(JQTG,1)>REF(JQDD,1) AND LLV(L,JQTG+1)<REF(LLV(L,JQTG+1),1),-1,0);
DBLAB:=IF(JBDDYXC=-1 AND REF(JQTG,1)<=REF(JQDD,1) AND (JQTG>=4 OR LLV(QKPD,JQTG)=-1 OR LLV(L,JQDD+2)<REF(LLV(L,JQDD+1),1)),-1,0);
DBLS:=IF((DBLAA=-1 OR DBLAB=-1) AND L<REF(H,JQTG+1),-1,0);
DTIME:=11;
A:=H=HHV(H,DTIME*5) AND HHV(H,DTIME*5)>REF(HHV(H,DTIME*5),1);
B:=L=LLV(L,DTIME*5) AND LLV(L,DTIME*5)<REF(LLV(L,DTIME*5),1);
CC1:DRAWLINE(A,H,B,L,0),LINETHICK2,COLOR3300FF;
CC2:DRAWLINE(B,L,A,H,0),LINETHICK2,COLOR3300FF;
YP:=IF((JQDD<4 AND HHV(QKPD,JQDD)=1) OR REF(DBLS,JQDD)=0,1,0);
PD:=IF(JBGDYXC=1 AND REF(JQDD,1)<=REF(JQTG,1) AND YP=1 AND DZZQ>REF(XZZQ,JQDD+1) AND DZZQ>REF(XZZQ,JQDD) AND DZZQ>REF(DZZQ,JQTG),1,0);
GBLA:=IF(JBGDYXC=1 AND REF(JQDD,1)>REF(JQTG,1) AND HHV(H,JQDD+1)>REF(HHV(H,JQDD+1),1),1,0);
GBLB:=IF(JBGDYXC=1 AND REF(JQDD,1)<=REF(JQTG,1) AND REF(DBLS,JQDD)=-1 AND (JQDD>=4 OR HHV(QKPD,JQDD)=1),1,0);
GBL:=IF((GBLA=1 OR GBLB=1 OR PD=1) AND H>REF(L,JQDD+1),1,0);
YPA:=IF((JQTG<4 AND HHV(QKPD,JQTG)!=1) OR REF(GBL,JQTG)=0,1,0);
PDA:=IF(JBDDYXC=-1 AND REF(JQTG,1)<=REF(JQDD,1) AND YPA=1 AND XZZQ>REF(DZZQ,JQTG+1) AND XZZQ>REF(DZZQ,JQTG) AND XZZQ>REF(XZZQ,JQDD),-1,0);
DBLA:=IF(JBDDYXC=-1 AND REF(JQTG,1)>REF(JQDD,1) AND LLV(L,JQTG+1)<REF(LLV(L,JQTG+1),1),-1,0);
DBLB:=IF(JBDDYXC=-1 AND REF(JQTG,1)<=REF(JQDD,1) AND (JQTG>=4 OR LLV(QKPD,JQTG)=-1 OR PDA=-1),-1,0);
DBL:=IF((DBLA=-1 OR DBLB=-1) AND L<REF(H,JQTG+1),-1,0);

{--- 线段（第二层：DBLX底线段=-1 / GBLX顶线段=+1）---}
JQTGA:=BARSLAST(GBL=1);
JQDDA:=BARSLAST(DBL=-1);
YPX:=IF((JQDDA<4 AND HHV(QKPD,JQDDA)=1) OR REF(DBL,JQDDA)=0,1,0);
PDX:=IF(JBGDYXC=1 AND REF(JQDDA,1)<=REF(JQTGA,1) AND YPX=1 AND DZZQ>REF(XZZQ,JQDDA+1) AND DZZQ>REF(XZZQ,JQDDA) AND DZZQ>REF(DZZQ,JQTGA),1,0);
GBLXA:=IF(JBGDYXC=1 AND REF(JQDDA,1)>REF(JQTGA,1) AND HHV(H,JQDDA+1)>REF(HHV(H,JQDDA+1),1),1,0);
GBLXB:=IF(JBGDYXC=1 AND REF(JQDDA,1)<=REF(JQTGA,1) AND REF(DBL,JQDDA)=-1 AND (JQDDA>=4 OR HHV(QKPD,JQDDA)=1),1,0);
GBLX:=IF((GBLXA=1 OR GBLXB=1 OR PDX=1) AND H>REF(L,JQDDA+1),1,0);
YPXA:=IF((JQTGA<4 AND HHV(QKPD,JQTGA)!=1) OR REF(GBLXA,JQTGA)=0,1,0);
PDXA:=IF(JBDDYXC=-1 AND REF(JQTGA,1)<=REF(JQDDA,1) AND YPXA=1 AND XZZQ>REF(DZZQ,JQTGA+1) AND XZZQ>REF(DZZQ,JQTGA) AND XZZQ>REF(XZZQ,JQDDA),-1,0);
DBLXA:=IF(JBDDYXC=-1 AND REF(JQTGA,1)>REF(JQDDA,1) AND LLV(L,JQTGA+1)<REF(LLV(L,JQTGA+1),1),-1,0);
DBLXB:=IF(JBDDYXC=-1 AND REF(JQTGA,1)<=REF(JQDDA,1) AND (JQTGA>=4 OR LLV(QKPD,JQTGA)=-1 OR PDXA=-1),-1,0);
DBLX:=IF((DBLXA=-1 OR DBLXB=-1) AND L<REF(H,JQTGA+1),-1,0);

{--- 大级别（第三层：DBLYX大底=-1 / GBLYX大顶=+1）---}
JQTGYA:=BARSLAST(GBLX=1);
JQDDYA:=BARSLAST(DBLX=-1);
YPYX:=IF((JQDDYA<4 AND HHV(QKPD,JQDDYA)=1) OR REF(DBLX,JQDDYA)=0,1,0);
PDYX:=IF(JBGDYXC=1 AND REF(JQDDYA,1)<=REF(JQTGYA,1) AND YPYX=1 AND DZZQ>REF(XZZQ,JQDDYA+1) AND DZZQ>REF(XZZQ,JQDDYA) AND DZZQ>REF(DZZQ,JQTGYA),1,0);
GBLYXA:=IF(JBGDYXC=1 AND REF(JQDDYA,1)>REF(JQTGYA,1) AND HHV(H,JQDDYA+1)>REF(HHV(H,JQDDYA+1),1),1,0);
GBLYXB:=IF(JBGDYXC=1 AND REF(JQDDYA,1)<=REF(JQTGYA,1) AND REF(DBLX,JQDDYA)=-1 AND (JQDDYA>=4 OR HHV(QKPD,JQDDYA)=1),1,0);
GBLYX:=IF((GBLYXA=1 OR GBLYXB=1 OR PDYX=1) AND H>REF(L,JQDDYA+1),1,0);
YPYXA:=IF((JQTGYA<4 AND HHV(QKPD,JQTGYA)=1) OR REF(GBLYXA,JQTGYA)=0,1,0);
PDYXA:=IF(JBDDYXC=-1 AND REF(JQTGYA,1)<=REF(JQDDYA,1) AND YPYXA=1 AND XZZQ>REF(DZZQ,JQTGYA+1) AND XZZQ>REF(DZZQ,JQTGYA) AND XZZQ>REF(XZZQ,JQDDYA),-1,0);
DBLYXA:=IF(JBDDYXC=-1 AND REF(JQTGYA,1)>REF(JQDDYA,1) AND LLV(L,JQTGYA+1)<REF(LLV(L,JQTGYA+1),1),-1,0);
DBLYXB:=IF(JBDDYXC=-1 AND REF(JQTGYA,1)<=REF(JQDDYA,1) AND (JQTGYA>=4 OR LLV(QKPD,JQTGYA)=-1 OR PDYXA=-1),-1,0);
DBLYX:=IF((DBLYXA=-1 OR DBLYXB=-1) AND L<REF(H,JQTGYA+1),-1,0);

{--- 线段端点（JDBL=-1底 / +1顶）---}
AAAD:=IF(GBLYX=1 AND DBLYX=-1 AND H>REF(H,REF(JQTGYA,1)+2),1,IF(GBLYX=1 AND DBLYX=-1 AND L<REF(L,REF(JQDDYA,1)+2),-1,0));
JDBL:=IF(AAAD=0,GBLYX+DBLYX,AAAD);

{--- 线段端点输出（连接线段高低点）---}
JBJD:IF(JDBL=-1,L*0.99,IF(JDBL=1,H*1.01,DRAWNULL)),CIRCLEDOT,COLORLIMAGENTA;
C1:DRAWLINE(JDBL=-1,JBJD,JDBL=1,JBJD,0),DOTLINE,COLORFF6600;
C2:DRAWLINE(JDBL=1,JBJD,JDBL=-1,JBJD,0),DOTLINE,COLORFF6600;

{--- 中枢：三个顶(SS1~SS3)与三个底(Μ1~Μ3)交替，四种形态 ---}
N:=(0,1,1);
JD:=IF(N=1,C2=C1 AND JBGDYXA AND JDBL=1,DRAWNULL);
Μ×:=IF(N=1,C2=C1 AND JBDDYXA AND JDBL=-1,DRAWNULL);
A1:=BARSLAST(JD);
B1:=CURRBARSCOUNT=CONST(A1)+1;
D1:=BARSLAST(B1);
SS1:=CONST(REF(H,D1));
A2:=REF(A1,A1+1)+A1+1;
B2:=CURRBARSCOUNT=CONST(A2)+1;
D2:=BARSLAST(B2);
SS2:=CONST(REF(H,D2));
A3:=REF(A2,A1+1)+A1+1;B3:=CURRBARSCOUNT=CONST(A3)+1;D3:=BARSLAST(B3);
SS3:=CONST(REF(H,D3));
DA1:=BARSLAST(Μ×);DB1:=CURRBARSCOUNT=CONST(DA1)+1;
DD1:=BARSLAST(DB1);
Μ1:=CONST(REF(L,DD1));
DA2:=REF(DA1,DA1+1)+DA1+1;
DB2:=CURRBARSCOUNT=CONST(DA2)+1;DD2:=BARSLAST(DB2);
Μ2:=CONST(REF(L,DD2));
DA3:=REF(DA2,DA1+1)+DA1+1;
DB3:=CURRBARSCOUNT=CONST(DA3)+1;
DD3:=BARSLAST(DB3);
Μ3:=CONST(REF(L,DD3));
SJXFDA:=Μ1<Μ2 AND SS2>SS1 AND DA2>A1 AND A1>DA1 AND A2>DA2 AND CONST(C)>Μ2;
ZSA1:=IF(SJXFDA AND CONST(C)<SS1,DB2,DRAWNULL);
STICKLINE(ZSA1,CONST(C),Μ2,0,0),COLORLIMAGENTA;
ZSA2:=IF(SJXFDA AND CONST(C)<SS1,ISLASTBAR,DRAWNULL);
STICKLINE(ZSA2,CONST(C),Μ2,0,0),COLORLIMAGENTA;
DRAWLINE(ZSA1=1,CONST(C),ZSA2=1,CONST(C),0),DOTLINE,COLORLIMAGENTA;
DRAWLINE(ZSA1=1,Μ2,ZSA2=1,Μ2,0),COLORLIMAGENTA;
ZSAC1:=IF(SJXFDA AND CONST(C)>=SS1,DB2,DRAWNULL);
STICKLINE(ZSAC1,SS1,Μ1,0,0),COLORLIMAGENTA;
ZSAC2:=IF(SJXFDA AND CONST(C)>=SS1,ISLASTBAR,DRAWNULL);
STICKLINE(ZSAC2,SS1,Μ1,0,0),COLORLIMAGENTA;
DRAWLINE(ZSAC1=1,SS1,ZSAC2=1,SS1,0),COLORLIMAGENTA;
DRAWLINE(ZSAC1=1,Μ1,ZSAC2=1,Μ1,0),COLORLIMAGENTA;
SJXFDB:=Μ1>Μ2 AND SS1>SS2 AND DA1>A1 AND A2>DA1 AND DA2>A2 AND CONST(C)<SS2;
ZSB1:=IF(SJXFDB AND CONST(C)>Μ1,B2,DRAWNULL);
STICKLINE(ZSB1,CONST(C),SS2,0,0),COLORLIGREEN;
ZSB2:=IF(SJXFDB AND CONST(C)>Μ1,ISLASTBAR,DRAWNULL);
STICKLINE(ZSB2,CONST(C),SS2,0,0),COLORLIGREEN;
DRAWLINE(ZSB1=1,SS2,ZSB2=1,SS2,0),COLORLIGREEN;
DRAWLINE(ZSB1=1,CONST(C),ZSB2=1,CONST(C),0),DOTLINE,COLORLIGREEN;
ZSBC1:=IF(SJXFDB AND CONST(C)<=Μ1,B2,DRAWNULL);
STICKLINE(ZSBC1,SS2,Μ1,0,0),COLORLIGREEN;
ZSBC2:=IF(SJXFDB AND CONST(C)<=Μ1,ISLASTBAR,DRAWNULL);
STICKLINE(ZSBC2,SS2,Μ1,0,0),COLORLIGREEN;
DRAWLINE(ZSBC1=1,SS2,ZSBC2=1,SS2,0),COLORLIGREEN;
DRAWLINE(ZSBC1=1,Μ1,ZSBC2=1,Μ1,0),COLORLIGREEN;
SJXSLA:=Μ1>Μ2 AND SS2>SS1 AND DA2>A1 AND A1>DA1 AND A2>DA2 AND CONST(C)>Μ1;
ZSC1:=IF(SJXSLA AND CONST(C)<SS1,DB2,DRAWNULL);
STICKLINE(ZSC1,CONST(C),Μ1,0,0),COLOR00CCFF;
ZSC2:=IF(SJXSLA AND CONST(C)<SS1,ISLASTBAR,DRAWNULL);
STICKLINE(ZSC2,CONST(C),Μ1,0,0),COLOR00CCFF;
DRAWLINE(ZSC1=1,CONST(C),ZSC2=1,CONST(C),0),DOTLINE,COLOR00CCFF;
DRAWLINE(ZSC1=1,Μ1,ZSC2=1,Μ1,0),COLOR00CCFF;
ZSCC1:=IF(SJXSLA AND CONST(C)>=SS1,DB2,DRAWNULL);
STICKLINE(ZSCC1,SS1,Μ1,0,0),COLOR00CCFF;
ZSCC2:=IF(SJXSLA AND CONST(C)>=SS1,ISLASTBAR,DRAWNULL);
STICKLINE(ZSCC2,SS1,Μ1,0,0),COLOR00CCFF;
DRAWLINE(ZSCC1=1,SS1,ZSCC2=1,SS1,0),COLOR00CCFF;
DRAWLINE(ZSCC1=1,Μ1,ZSCC2=1,Μ1,0),COLOR00CCFF;
SJXSLB:=Μ1>Μ2 AND SS1<SS2 AND DA1>A1 AND A2>DA1 AND DA2>A2 AND CONST(C)<SS1;
ZSD1:=IF(SJXSLB AND CONST(C)>Μ1,B2,DRAWNULL);
STICKLINE(ZSD1,CONST(C),SS1,0,0),COLORLICYAN;
ZSD2:=IF(SJXSLB AND CONST(C)>Μ1,ISLASTBAR,DRAWNULL);
STICKLINE(ZSD2,CONST(C),SS1,0,0),COLORLICYAN;
DRAWLINE(ZSD1=1,SS1,ZSD2=1,SS1,0),COLORLICYAN;
DRAWLINE(ZSD1=1,CONST(C),ZSD2=1,CONST(C),0),DOTLINE,COLORLICYAN;
ZSDC1:=IF(SJXSLB AND CONST(C)<=Μ1,B2,DRAWNULL);
STICKLINE(ZSDC1,SS1,Μ1,0,0),COLORLICYAN;
ZSDC2:=IF(SJXSLB AND CONST(C)<=Μ1,ISLASTBAR,DRAWNULL);
STICKLINE(ZSDC2,SS1,Μ1,0,0),COLORLICYAN;
DRAWLINE(ZSDC1=1,SS1,ZSDC2=1,SS1,0),COLORLICYAN;
DRAWLINE(ZSDC1=1,Μ1,ZSDC2=1,Μ1,0),COLORLICYAN;
ZG:=MIN(SS1,MIN(SS2,SS3));
ZD:=MAX(Μ1,MAX(Μ2,Μ3));

{--- 学习观察：标准中枢 ZG~ZD 区间（缠论：三段重叠）---}
中枢成立:IF(ZD<ZG,1,0),NODRAW;
DRAWLINE(ZD<ZG,ZD,ZD<ZG,ZG,0),LINETHICK3,COLOR00FF00;
