{==============================================================================}
{  缠论拆解 · 第2层【笔】（通达信，独立公式）                               }
{  定义：笔 = 相邻顶分型与底分型交替连接，顶底之间至少一根独立K线            }
{  本层 = 分型 + 第一层笔（DBL底笔=-1 / GBL顶笔=+1）                        }
{  观察：黄点=笔端点，绿字"顶笔"、红字"底笔"；蓝线为阶段高低趋势线(辅助)     }
{==============================================================================}
{--- 分型（顶分型=+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);

{--- 学习观察：笔端点标记 ---}
笔端点:IF(GBL=1,H,IF(DBL=-1,L,DRAWNULL)),CIRCLEDOT,COLORYELLOW;
DRAWTEXT(GBL=1,H*1.02,'顶笔'),COLORGREEN;
DRAWTEXT(DBL=-1,L*0.98,'底笔'),COLORRED;
