{==============================================================================}
{  缠论主图指标 · 优化版（通达信，电脑/手机通用）                            }
{  优化目标：按缠论"结构思维"重新梳理，让公式层次清晰对应缠论体系            }
{  缠论递进结构（自下而上）：                                                }
{    K线 → 分型 → 笔 → 线段 → 中枢 → 走势类型 → 背驰/买卖点                }
{  说明：原公式全部计算逻辑【原样保留】，仅做——                              }
{        ① 结构重组（按缠论层次分段） ② 缠论术语注释 ③ 少量增强补充        }
{==============================================================================}

{=== 参数 ===}
N:=(0,1,1);   {N=1 时显示线段/中枢确认结构（原参数，保持不变）}

{==============================================================================}
{  第一部分  分型（FenXing）—— 缠论结构的最基本构件                         }
{  · 顶分型：三根K线（含包含处理后）中，中间K线的最高、最低均为三者之最      }
{  · 底分型：三根K线中，中间K线的最低、最高均为三者之最                      }
{  本公式以 5 周期极值(BACKSET)识别分型：                                     }
{    JBDDYXC = -1 → 底分型      JBGDYXC = +1 → 顶分型                         }
{==============================================================================}
JBDDYXA:=BACKSET(LLV(L,5)<REF(LLV(L,4),1),4);      {底分型候选A：5日新低回溯}
JBDDYXB:=BACKSET(JBDDYXA=0 AND REF(JBDDYXA,1)=1,2);{底分型候选B：确认边界}
JBDDYXC:=IF(JBDDYXB=1 AND REF(JBDDYXB,1)=0,-1,0);  {底分型确认 = -1}
JBGDYXA:=BACKSET(HHV(H,5)>REF(HHV(H,4),1),4);      {顶分型候选A：5日新高回溯}
JBGDYXB:=BACKSET(JBGDYXA=0 AND REF(JBGDYXA,1)=1,2);{顶分型候选B：确认边界}
JBGDYXC:=IF(JBGDYXB=1 AND REF(JBGDYXB,1)=0,1,0);   {顶分型确认 = +1}

{=== 缺口判断（笔构造中处理跳空的情形）===}
QKPD:=IF(L>REF(H,1),1,IF(H<REF(L,1),-1,0));        {向上跳空=1，向下跳空=-1，无=0}

{==============================================================================}
{  第二部分  笔（Bi）—— 由相邻顶、底分型交替连接而成                        }
{  · 笔的成立要件：顶分型与底分型之间至少一根独立K线，且顶底交替出现         }
{  本部分为"第一层"笔（最低级别的笔），后文再递归出线段、大级别笔           }
{==============================================================================}
JQTG:=BARSLAST(JBGDYXC=1);                         {距最近顶分型的K线数}
JQDD:=BARSLAST(JBDDYXC=-1);                        {距最近底分型的K线数}
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;                                         {趋势线时间窗口：11*5=55周期}
A:=H=HHV(H,DTIME*5) AND HHV(H,DTIME*5)>REF(HHV(H,DTIME*5),1);{55周期新高}
B:=L=LLV(L,DTIME*5) AND LLV(L,DTIME*5)<REF(LLV(L,DTIME*5),1);{55周期新低}
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);       {底笔确认（修正）}

{==============================================================================}
{  第三部分  线段（XianDuan）—— 至少由三笔构成                               }
{  说明：把"笔"的判定算法递归复用一次，得到更高一级的结构（线段/次级别）    }
{  本部分为"第二层"：GBLX/DBLX 对应 顶线段/底线段                            }
{==============================================================================}
JQTGA:=BARSLAST(GBL=1);                            {距最近顶笔的K线数}
JQDDA:=BARSLAST(DBL=-1);                           {距最近底笔的K线数}
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);    {底线段确认}

{==============================================================================}
{  第四部分  大级别（更高一级的笔/线段，递归复用）                            }
{  说明：把线段算法再递归一次，得到"第三层"（大级别走势），GBLYX/DBLYX       }
{==============================================================================}
JQTGYA:=BARSLAST(GBLX=1);                          {距最近顶线段的K线数}
JQDDYA:=BARSLAST(DBLX=-1);                         {距最近底线段的K线数}
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 → 线段低点(买)；JDBL = +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);                 {线段方向：-1底 / +1顶}
JBJD:IF(JDBL=-1,L*0.99,IF(JDBL=1,H*1.01,DRAWNULL)),CIRCLEDOT,COLORLIMAGENTA;{线段端点}
DRAWTEXT(JDBL=1,H*1.03,'卖'),COLORLIGREEN;         {线段高点=卖点提示}
DRAWTEXT(JDBL=-1,L*0.97,'买'),COLORRED;            {线段低点=买点提示}
C1:DRAWLINE(JDBL=-1,JBJD,JDBL=1,JBJD,0),DOTLINE,COLORFF6600;{连接底→顶}
C2:DRAWLINE(JDBL=1,JBJD,JDBL=-1,JBJD,0),DOTLINE,COLORFF6600;{连接顶→底}

{==============================================================================}
{  第六部分  中枢（ZhongShu）—— 三段次级别走势的重叠区间                     }
{  · 缠论中枢：某级别走势中，被至少三个连续次级别走势类型所重叠的部分        }
{  · 上沿 ZG = 三段高点中的最低者；下沿 ZD = 三段低点中的最高者              }
{  · 本公式以三个顶(SS1~SS3)与三个底(Μ1~Μ3)的交替关系判断中枢成立           }
{    并用四种形态(SJXFD_A/B、SJXSL_A/B)区分上涨/下跌中枢及成立/未成立        }
{==============================================================================}
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);                                   {距最近顶确认点的K线数}
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;
{—— 中枢形态一（成立）：上沿SS1、下沿Μ1 ——}
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;

{==============================================================================}
{  第七部分  动能与量能（辅助判断背驰/转折的力度）                            }
{==============================================================================}
VAR3:=LLV(H,240);
VAR4:=100*(C-VAR3)/VAR3;
VAR5:=(C-LLV(L,528))/(HHV(H,528)-LLV(L,528))*100;
VAR6:=(C-LLV(C,530))/(HHV(C,530)-LLV(C,530))*100;
VAR7:=0;
VAR8:=SMA(MAX(CLOSE-REF(CLOSE,1),0),34,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),7,1)*100;
VAR9:=SMA(MAX(CLOSE-REF(CLOSE,1),0),13,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),13,1)*100;
VAR10:=IF(TROUGHBARS(3,16,1)=0 AND H>L+0.04,4,0);
VAR11:=ZIG(3,6)>REF(ZIG(3,6),1) AND REF(ZIG(3,6),1)<=REF(ZIG(3,6),2) AND REF(ZIG(3,6),2)<=REF(ZIG(3,6),3);
VAR12:=ZIG(3,6)<REF(ZIG(3,6),1) AND REF(ZIG(3,6),1)>=REF(ZIG(3,6),2) AND REF(ZIG(3,6),2)>=REF(ZIG(3,6),3);
VAR13:=ZIG(3,22)>REF(ZIG(3,22),1) AND REF(ZIG(3,22),1)<=REF(ZIG(3,22),2) AND REF(ZIG(3,22),2)<=REF(ZIG(3,22),3);
VAR14:=ZIG(3,22)<REF(ZIG(3,22),1) AND REF(ZIG(3,22),1)>=REF(ZIG(3,22),2) AND REF(ZIG(3,22),2)>=REF(ZIG(3,22),3);
VAR15:=ZIG(3,51)>REF(ZIG(3,51),1) AND REF(ZIG(3,51),1)<=REF(ZIG(3,51),2) AND REF(ZIG(3,51),2)<=REF(ZIG(3,51),3);
VAR16:=ZIG(3,51)<REF(ZIG(3,51),1) AND REF(ZIG(3,51),1)>=REF(ZIG(3,51),2) AND REF(ZIG(3,51),2)>=REF(ZIG(3,51),3);
VAR17:=ZIG(3,72)>REF(ZIG(3,72),1) AND REF(ZIG(3,72),1)<=REF(ZIG(3,72),2) AND REF(ZIG(3,72),2)<=REF(ZIG(3,72),3);
VAR18:=ZIG(3,72)<REF(ZIG(3,72),1) AND REF(ZIG(3,72),1)>=REF(ZIG(3,72),2) AND REF(ZIG(3,72),2)>=REF(ZIG(3,72),3);
VAR19:=EMA(C,2)-EMA(C,150);
买１:=VAR10;
买２:=(VAR11+VAR13+VAR15+VAR17);
卖１:=(VAR12+VAR14+VAR16+VAR18);
APP:=(VOL)/((H-L)*(2)-ABS(C-O));
ZL:=IF((H>O),(APP)*(H-L),IF((L<O),(APP)*(H-O+C-L),(VOL)/(2)));
SF:=IF((H>O),0-(APP)*(H-C+O-L),IF((L<O),0-(APP)*(H-L),0-(VOL)/(2)));
库存能量:=MA(ZL+SF,2);
库存平均:=MA(ZL+SF,5);

{==============================================================================}
{  第八部分  ZIG 走势结构与买卖点（缠论买点/卖点标注）                        }
{  · 不同波动幅度(5/10/20)的ZIG对应不同级别走势                                }
{  · 1买=下跌趋势背驰后的低点，2买=1买后的次低点，类2买=中枢内的二次买点      }
{==============================================================================}
GET:=ZIG(3,5),COLORYELLOW,LINETHICK3;
PL5:=ZIG(3,5);
EN1:=PL5>REF(PL5,1) AND REF(PL5,1)<=REF(PL5,2) AND REF(PL5,2)<=REF(PL5,3);
EX1:=PL5<REF(PL5,1) AND REF(PL5,1)>=REF(PL5,2) AND REF(PL5,2)>=REF(PL5,3);
PL10:=ZIG(3,10);
EN2:=PL10>REF(PL10,1) AND REF(PL10,1)<=REF(PL10,2) AND REF(PL10,2)<=REF(PL10,3);
EX2:=PL10<REF(PL10,1) AND REF(PL10,1)>=REF(PL10,2) AND REF(PL10,2)>=REF(PL10,3);
PL20:=ZIG(3,20);
EN3:=PL20>REF(PL20,1) AND REF(PL20,1)<=REF(PL20,2) AND REF(PL20,2)<=REF(PL20,3);
EX3:=PL20<REF(PL20,1) AND REF(PL20,1)>=REF(PL20,2) AND REF(PL20,2)>=REF(PL20,3);
走强1:=BARSLAST(PL5<REF(PL5,1));
走弱1:=BARSLAST(PL5>REF(PL5,1));
走强2:=BARSLAST(PL10<REF(PL10,1));
走弱2:=BARSLAST(PL10>REF(PL10,1));
走强3:=BARSLAST(PL20<REF(PL20,1));
走弱3:=BARSLAST(PL20>REF(PL20,1));
ZTJZ5:=IF(PL10>REF(PL10,1),COUNT(EN1,走强2),0);
ZTJD5:=IF(PL10>REF(PL10,1),COUNT(EX1,走强2),0);
DTJZ5:=IF(PL10<REF(PL10,1),COUNT(EN1,走弱2),0);
DTJD5:=IF(PL10<REF(PL10,1),COUNT(EX1,走弱2),0);
ZTJZ10:=IF(PL20>REF(PL20,1),COUNT(EN2,走强3),0);
ZTJD10:=IF(PL20>REF(PL20,1),COUNT(EX2,走强3),0);
DTJZ10:=IF(PL20<REF(PL20,1),COUNT(EN2,走弱3),0);
DTJD10:=IF(PL20<REF(PL20,1),COUNT(EX2,走弱3),0);
DRAWTEXT(EN2 AND DTJZ10=1,L*0.9,'[类2买]'),COLORFF0066;       {类第二类买点}
DRAWTEXT(EN3 AND ZTJZ10=1,L*0.9,'[1买]'),COLORFF33FF;         {第一类买点}
DRAWTEXT(EN2 AND PL20>REF(PL20,1) AND ZTJZ10=2,L*0.9,'[2买]'),LINETHICK2,COLORCC66FF;{第二类买点}
DRAWTEXT(EX2 AND PL20>REF(PL20,1) AND ZTJD10=2 OR (ZTJD10=0 OR ZTJD10=2) AND EX2,H*1.07,'[1卖]'),LINETHICK3,COLORFF6600;{第一类卖点}
DRAWTEXT(EX2 AND PL20>REF(PL20,1) AND ZTJD10=1,H*1.07,'[2卖]'),LINETHICK2,COLORFF0000;{第二类卖点}

{==============================================================================}
{  增强补充（新增，不影响上方原逻辑）—— 更贴合缠论结构                        }
{==============================================================================}

{—— 增强1：标准中枢 ZG/ZD 参考线 ——}
{ 缠论中枢 = 连续三段次级别走势的重叠区间；                                  }
{ ZG(上沿)=三个顶中的最低者，ZD(下沿)=三个底中的最高者；ZG>ZD 才构成中枢     }
ZG:=MIN(SS1,MIN(SS2,SS3));
ZD:=MAX(Μ1,MAX(Μ2,Μ3));
中枢成立:IF(ZD<ZG,1,0),NODRAW;                           {ZD<ZG 时中枢成立}
DRAWLINE(ZD<ZG,ZD,ZD<ZG,ZG,0),LINETHICK3,COLOR00FF00;     {标准中枢区间 ZD~ZG}

{—— 增强2：MACD 背驰辅助（缠论"力度比较"，第一类买卖点依据）——}
{ 顶背驰：价格创新高而MACD红柱动能衰减；底背驰：价格创新低而MACD绿柱动能收敛 }
DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD柱:=2*(DIFF-DEA);
底背驰:JDBL=-1 AND L=LLV(L,BARSLAST(JDBL=1)+1) AND MACD柱>REF(MACD柱,BARSLAST(JDBL=1)),NODRAW;
顶背驰:JDBL=1 AND H=HHV(H,BARSLAST(JDBL=-1)+1) AND MACD柱<REF(MACD柱,BARSLAST(JDBL=-1)),NODRAW;
DRAWTEXT(底背驰,L*0.93,'底背驰'),COLORRED;
DRAWTEXT(顶背驰,H*1.05,'顶背驰'),COLORGREEN;
