[ZD261001]缠论分型分笔主图-通达信指标源码分享

【免责声明】本文只讲缠论分型分笔的编写逻辑、参数取值,属源码科普,不构成投资建议。市场有风险,盈亏自负。
01 三根 K 线定分型,缠论分笔主图的"笔架子"
缠论这东西,学的时候头大,用的时候更头大。分型还能纸上画画,一上盘面,几千根 K 线挤一块儿,数着数着就花了眼。这指标干的活,就是把"找分型、连笔"这两件手工活,交给公式去跑,眼睛省下来盯别的地方。
先岔一句,这套分型的写法在通达信里我能数出好几个版本,每家细节都不一样,这篇拆的是原作者这一版。
速查卡(五秒扫完):
| 顶分型 | 底分型 |
02 指标源码分享|缠论分型分笔主图

指标编号:ZD261001
完整指标源码:
顶:=BBI+3*STD(BBI,13),COLOR004AFF;底:=BBI-3*STD(BBI,13),COLOR67FF00;DRAWBAND(BBI,RGB(97,95,00),顶,RGB(97,95,00));DRAWBAND(BBI,RGB(25,75,150),底,RGB(25,75,250));{MA1:MA(CLOSE,M1);MA2:MA(CLOSE,M2),COLORGREEN;MA3:MA(CLOSE,M3),COLORRED;MA4:MA(CLOSE,M4),COLORYELLOW;}KU1:=IF(HIGH=HHV(HIGH,3),1,0);KD1:=IF(LOW=LLV(LOW,3),1,0);UL:=IF(REF(KU1,2)=1ANDREF(KU1,1)=0ANDKU1=0,REF(HIGH,2),REF(HIGH,2+BARSLAST(REF(KU1,2)=1ANDREF(KU1,1)=0ANDKU1=0)));DL:=IF(REF(KD1,2)=1ANDREF(KD1,1)=0ANDKD1=0,REF(LOW,2),REF(LOW,2+BARSLAST(REF(KD1,2)=1ANDREF(KD1,1)=0ANDKD1=0)));HV:=H>ULANDH>REF(H,1);LV:=L<DLANDL<REF(L,1);GP:=BARSLAST(HV);DP:=BARSLAST(LV);IP:=IF(GP=0,DP,GP)>3;HHV1:=HVANDIPANDH>=HHV(H,BARSLAST(LV));LV1:=LVANDIPANDL<=LLV(L,BARSLAST(HV));DRAWLINE(LV1,LOW,HHV1,HIGH,0),COLORYELLOW,LINETHICK2;DRAWLINE(HHV1,HIGH,LV1,LOW,0),COLORMAGENTA,LINETHICK2;STICKLINE(CLOSE>REF(CLOSE,1),HIGH,LOW,0,1),COLORRED;STICKLINE(CLOSE>REF(CLOSE,1),OPEN,CLOSE,3,0),COLOR000055;STICKLINE(CLOSE>REF(CLOSE,1),OPEN,CLOSE,2.7,0),COLOR000077;STICKLINE(CLOSE>REF(CLOSE,1),OPEN,CLOSE,2.1,0),COLOR000099;STICKLINE(CLOSE>REF(CLOSE,1),OPEN,CLOSE,1.5,0),COLOR0000BB;STICKLINE(CLOSE>REF(CLOSE,1),OPEN,CLOSE,0.9,0),COLOR0000DD;STICKLINE(CLOSE>REF(CLOSE,1),OPEN,CLOSE,0.3,0),COLOR0000FF;STICKLINE(CLOSE=REF(CLOSE,1),HIGH,LOW,0,1),COLORWHITE;STICKLINE(CLOSE=REF(CLOSE,1),OPEN,CLOSE,3,0),COLOR555555;STICKLINE(CLOSE=REF(CLOSE,1),OPEN,CLOSE,2.7,0),COLOR777777;STICKLINE(CLOSE=REF(CLOSE,1),OPEN,CLOSE,2.1,0),COLOR999999;STICKLINE(CLOSE=REF(CLOSE,1),OPEN,CLOSE,1.5,0),COLORBBBBBB;STICKLINE(CLOSE=REF(CLOSE,1),OPEN,CLOSE,0.9,0),COLORDDDDDD;STICKLINE(CLOSE=REF(CLOSE,1),OPEN,CLOSE,0.3,0),COLORFFFFFF;STICKLINE(CLOSE<REF(CLOSE,1),HIGH,LOW,0,1),COLORCYAN;STICKLINE(CLOSE<REF(CLOSE,1),OPEN,CLOSE,3,0),COLOR990000;STICKLINE(CLOSE<REF(CLOSE,1),OPEN,CLOSE,2.7,0),COLORCC0000;STICKLINE(CLOSE<REF(CLOSE,1),OPEN,CLOSE,2.1,0),COLORFF4400;STICKLINE(CLOSE<REF(CLOSE,1),OPEN,CLOSE,1.5,0),COLORFF8800;STICKLINE(CLOSE<REF(CLOSE,1),OPEN,CLOSE,0.9,0),COLORFFCC00;STICKLINE(CLOSE<REF(CLOSE,1),OPEN,CLOSE,0.3,0),COLORCYAN;{笔底分型信号预警确保向下笔成立后的底分型}V00:=HIGH<REF(HIGH,1)ANDLOW<REF(LOW,1);V01:=HIGH<REF(HIGH,1)ANDLOW>REF(LOW,1);V02:=HIGH>REF(HIGH,1)ANDLOW<REF(LOW,1);V03:=HIGH>REF(HIGH,1)ANDLOW>REF(LOW,1);V04:=REF(HIGH,2)<HIGHANDREF(LOW,2)<LOWANDREF(HIGH,2)>REF(HIGH,1)ANDREF(LOW,2)<REF(LOW,1);V1:=COUNT(V00,6)>=3ANDCOUNT(V01ORV02,5)=0ANDLLVBARS(LOW,6)=1ANDHHVBARS(HIGH,6)>=5ANDV03;V2:=COUNT(V00,7)>=3ANDCOUNT(V01ORV02,6)=1ANDLLVBARS(LOW,7)=2ANDHHVBARS(HIGH,7)>=6ANDV04;V3:=COUNT(V00,7)>=3ANDCOUNT(V01ORV02,6)=1ANDLLVBARS(LOW,7)=1ANDHHVBARS(HIGH,7)>=6ANDV03;V4:=COUNT(V00,8)>=3ANDCOUNT(V01ORV02,7)<=2ANDLLVBARS(LOW,8)=2ANDHHVBARS(HIGH,8)>=7ANDV04;V5:=COUNT(V00,8)>=3ANDCOUNT(V01ORV02,7)<=2ANDLLVBARS(LOW,8)=1ANDHHVBARS(HIGH,8)>=7ANDV03;V6:=COUNT(V00,9)>=3ANDCOUNT(V01ORV02,8)<=3ANDLLVBARS(LOW,9)=2ANDHHVBARS(HIGH,9)>=8ANDV04;V7:=COUNT(V00,9)>=3ANDCOUNT(V01ORV02,8)<=3ANDLLVBARS(LOW,9)=1ANDHHVBARS(HIGH,9)>=8ANDV03;V8:=COUNT(V00,10)>=3ANDCOUNT(V01ORV02,9)<=4ANDLLVBARS(LOW,10)=2ANDHHVBARS(HIGH,10)>=9ANDV04;V9:=COUNT(V00,10)>=3ANDCOUNT(V01ORV02,9)<=4ANDLLVBARS(LOW,10)=1ANDHHVBARS(HIGH,10)>=9ANDV03;V10:=COUNT(V00,11)>=3ANDCOUNT(V01ORV02,10)<=5ANDLLVBARS(LOW,11)=2ANDHHVBARS(HIGH,11)>=10ANDV04;XG:=V1ORV2ORV3ORV4ORV5ORV6ORV7ORV8ORV9ORV10;DRAWICON(FILTER(XG=1,5),L*0.97,1);{笔顶分型信号预警确保向上笔成立后的顶分型}HV00:=HIGH>REF(HIGH,1)ANDLOW>REF(LOW,1);HV01:=HIGH<REF(HIGH,1)ANDLOW>REF(LOW,1);HV02:=HIGH>REF(HIGH,1)ANDLOW<REF(LOW,1);HV03:=HIGH<REF(HIGH,1)ANDLOW<REF(LOW,1);HV04:=REF(HIGH,2)>HIGHANDREF(LOW,2)>LOWANDREF(HIGH,2)>REF(HIGH,1)ANDREF(LOW,2)<REF(LOW,1);HV1:=COUNT(HV00,6)>=3ANDCOUNT(HV01ORHV02,5)=0ANDHHVBARS(HIGH,6)=1ANDLLVBARS(LOW,6)>=5ANDHV03;HV2:=COUNT(HV00,7)>=3ANDCOUNT(HV01ORHV02,6)=1ANDHHVBARS(HIGH,7)=2ANDLLVBARS(LOW,7)>=6ANDHV04;HV3:=COUNT(HV00,7)>=3ANDCOUNT(HV01ORHV02,6)=1ANDHHVBARS(HIGH,7)=1ANDLLVBARS(LOW,7)>=6ANDHV03;HV4:=COUNT(HV00,8)>=3ANDCOUNT(HV01ORHV02,7)<=2ANDHHVBARS(HIGH,8)=2ANDLLVBARS(LOW,8)>=7ANDHV04;HV5:=COUNT(HV00,8)>=3ANDCOUNT(HV01ORHV02,7)<=2ANDHHVBARS(HIGH,8)=1ANDLLVBARS(LOW,8)>=7ANDHV03;HV6:=COUNT(HV00,9)>=3ANDCOUNT(HV01ORHV02,8)<=3ANDHHVBARS(HIGH,9)=2ANDLLVBARS(LOW,9)>=8ANDHV04;HV7:=COUNT(HV00,9)>=3ANDCOUNT(HV01ORHV02,8)<=3ANDHHVBARS(HIGH,9)=1ANDLLVBARS(LOW,9)>=8ANDHV03;HV8:=COUNT(HV00,10)>=3ANDCOUNT(HV01ORHV02,9)<=4ANDHHVBARS(HIGH,10)=2ANDLLVBARS(LOW,10)>=9ANDHV04;HV9:=COUNT(HV00,10)>=3ANDCOUNT(HV01ORHV02,9)<=4ANDHHVBARS(HIGH,10)=1ANDLLVBARS(LOW,10)>=9ANDHV03;HV10:=COUNT(HV00,11)>=3ANDCOUNT(HV01ORHV02,10)<=5ANDHHVBARS(HIGH,11)=2ANDLLVBARS(LOW,11)>=10ANDHV04;HXG:=HV1ORHV2ORHV3ORHV4ORHV5ORHV6ORHV7ORHV8ORHV9ORHV10;DRAWICON(FILTER(HXG=1,3),H*1.01,2);
顺手钉个 #缠论分型# 的话题,平时跟 #分笔# #笔线段# 一块儿讲。
03 分型是骨架,间隔是门槛:一笔一笔怎么连起来的
先说分型怎么认。顶分型就是三根 K 线,中间那根最高;底分型反过来,中间那根最低。公式里用一行就写完了。
KU1:=IF(HIGH=HHV(HIGH,3),1,0)
三根里最高的那根记 1,这是顶分型的候选人。窗口为啥用 3?两根定不了型,四根又太宽,把相邻的分型挤没;3根刚刚好,这就是标准分型。
可光有候选还不够。两根相邻的顶分型离得太近,连出来的笔没意义。于是有间隔过滤:
IP:=IF(GP=0,DP,GP)>3
GP 离上次顶分型隔了几根,DP 离上次底分型隔了几根。要是小于 3,这笔太短,直接不要;大于 3 才算数。这一层我反而觉得比分型本身还重要——形状好认,间隔才见功力。
通道带那层是 BBI 均线加减三倍的标准差,十三日窗口算带宽。窗口放 13,短了带宽乱抖,长了把波动全抹平,13 是布林带的老传统。通道一收窄,说明价格在缠,等着选方向。
笔底、笔顶两套过滤,V1 到 V10 一排排下来,数的是分型前后几根 K 线的配合度。那十行其实是层层放宽的筛选:从六根 K 线里找三根以上的配合,一直放到十一根窗口,越往后条件越松,把确认不了的边角料筛掉,配合够了才画一笔。DRAWLINE 再把相邻分型连起来,笔就这么出来了。
当年我学缠论,在纸上画分型画了三个晚上,画到笔都连不直。现在公式代劳,省心多了。
