缠论主图源码分享通达信公式
{缠论主图,参数:N1 最小0 最大1 缺省1,公众号:缠论君}
TIM:=TDXDLL3(100,PERIOD,H,L); {初始化周期}
KX:=TDXDLL3(1,H,L,C); {解决包含K线的问题}
VALID:=TDXDLL3(15,H,L,C);
BI:=TDXDLL3(4,H,L,C); { BI类型}
KXG:=TDXDLL3(2,H,L,C); {高点}
KXD:=TDXDLL3(3,H,L,C); {低点}
BILAST:=TDXDLL3(6,H,L,C);{上一笔的距离}
{画笔,LCY去的,为了更准
DRAWLINE(BI=1, KXG, BI=-1, KXD,0),COLORYELLOW;
DRAWLINE(BI=-1, KXD, BI=1, KXG,0),COLORYELLOW;}
BILIST:=TDXDLL3(5,H,L,C);{BILIST}
DUANLAST:=TDXDLL3(7,H,L,C);{上一段的距离}
ZS:=TDXDLL3(8,H,L,C);{中枢处理}
ZSZG:=TDXDLL3(9,H,L,C);{得到中枢ZG}
ZSZD:=TDXDLL3(10,H,L,C);{得到中枢ZD}
ZSKS:=TDXDLL3(11,H,L,C);{得到中枢开始}
ZSJS:=TDXDLL3(12,H,L,C);{得到中枢结束}
BIFX:=-REF(BI,BILAST);
{下跌笔中枢}
DRAWLINE(ZSKS=1,ZSZG,ZSJS=1,ZSZG,0),COLORGREEN,LINETHICK2;
DRAWLINE(ZSKS=1,ZSZD,ZSJS=1,ZSZD,0),COLORGREEN,LINETHICK2;
DRAWLINE(ZSKS=1,(ZSZG+ZSZD)/2,ZSJS=1,(ZSZG+ZSZD)/2,0),COLORGREEN,DOTLINE;
STICKLINE(ZSKS=1,ZSZG,ZSZD,0.1,0),COLORGREEN;
STICKLINE(ZSJS=1,ZSZG,ZSZD,0.1,0),COLORGREEN;
{上涨笔中枢}
DRAWLINE(ZSKS=2,ZSZG, ZSJS=2,ZSZG,0),COLORRED,LINETHICK2;
DRAWLINE(ZSKS=2,ZSZD, ZSJS=2,ZSZD,0),COLORRED,LINETHICK2;
DRAWLINE(ZSKS=2,(ZSZG+ZSZD)/2,ZSJS=2,(ZSZG+ZSZD)/2,0),COLORRED,DOTLINE;
STICKLINE(ZSKS=2,ZSZG,ZSZD,0.1,0),COLORRED;
STICKLINE(ZSJS=2,ZSZG,ZSZD,0.1,0),COLORRED;
{绘制最后当下的力度}
DRAWNUMBER(BI=1 AND N1=0,H,H-REF(L,BILAST)),COLORMAGENTA;
DRAWNUMBER(BI=-1 AND N1=0,L,L-REF(H,BILAST)),COLORCYAN;
{平滑移动平均}
MA26:=EMA(C,26);
MA13:=EMA(C,13);
VAR1:=KX;
VAR2:=BI;
分型:=VAR1;
笔:=VAR2;
A1:=BARSLAST(VAR2<>0);{上个顶底到现在的时间}
A2:=REF(VAR2,A1); {是顶还是底}
AA1:=REF(A1+1,1); {上个顶底到现在的时间}
AA2:=-REF(A2,1); {1 上涨, -1下跌}
方向:=AA2;
AA3:=AA1+REF(AA1+1,AA1);
AA4:=AA3+REF(AA1+1,AA3);
H1:=BARSLAST(VAR2=1);
H2:=REF(VAR2,H1);
HH1:=REF(H1+1,1); HH2:=-REF(H2,1);
L1:=BARSLAST(VAR2=-1);
L2:=REF(VAR2,L1);
LL1:=REF(L1+1,1); LL2:=-REF(L2,1);
{高低点}
GG:=REF(H,H1);
GG1:=REF(H,HH1);
GG2:=REF(GG1,HH1);
GG3:=REF(GG2,HH1);
GG4:=REF(GG3,HH1);
GG5:=REF(GG4,HH1);
DD:=REF(L,L1);
DD1:=REF(L,LL1);
DD2:=REF(DD1,LL1);
DD3:=REF(DD2,LL1);
DD4:=REF(DD3,LL1);
DD5:=REF(DD4,LL1);
{买点}
{主要是从形态考虑TJA, 空间做为次要条件KJ提高成功率 }
{一买}
{反弹高点站不上26天线就}
{利用形态抓下+盘+下}
一买TJ1:=方向=1 AND L 一五段下跌:=DD1 一买TJA:=GG1 一买A:=一买TJ1 AND 一五段下跌 AND 一买TJA, LINETHICK0, COLORRED; {89%} 一买KJA:=GG1-DD1 一买AAA:=一买TJ1 AND 一五段下跌 AND 一买TJA AND 一买KJA, LINETHICK0, COLORRED; {93%} 一买TJB:=GG1>DD3; {不存在缺口} 一买KJB:=GG3-DD3>GG1-DD1 AND GG3-DD3>GG2-DD2 AND GG2-DD2 一买B:=一买TJ1 AND 一五段下跌 AND 一买TJB AND 一买KJB, LINETHICK0, COLORRED; {85} {类二买} {思路是 利用形态抓上+盘+(上)}{注意有这两个条件成功率提高很多 GG1>GG2 AND DD1>DD2} 类二买TJ:=方向=1 AND C 类二买TJ2:=DD1 类二买KJ:=GG2-DD3>GG2-DD2 AND GG2-DD3>GG1-DD1; 类二买A:=类二买TJ AND 类二买TJ2 AND类二买KJ,COLORRED; {85} 类二买TJA:=GG1>GG2 AND DD1>DD2 AND GG2-DD3>(GG2-DD2)*1.618;{力度大概影响3个点左右} 类二买AAA:=类二买A AND 类二买TJA,COLORRED; {最强买} {90} {二买1:OK {二买} 买TJ1:=方向=1 AND L 二买TJ:=DD1 三段下跌:=GG3>GG2 AND DD3>DD2; {三段式下跌} 二买TJA1:=GG1>DD3; {第一段上涨至少回到前中枢内} 二买A:=买TJ1 AND 二买TJ AND 三段下跌 AND 二买TJA1, LINETHICK0, COLORYELLOW; {77.5} 五段下跌:=GG4>GG3 AND GG4>GG2 AND DD2 二买TJB1:=GG2 二买TJB2:=GG2>DD4; {不存在缺口} 二买B1:=买TJ1 AND 二买TJ AND 五段下跌 AND 二买TJB1, LINETHICK0, COLORYELLOW;{91.7 - 3} 二买B2:=买TJ1 AND 二买TJ AND 五段下跌 AND 二买TJB2, LINETHICK0, COLORYELLOW;{75.8} 二买AAA:=二买B1, LINETHICK0, COLORYELLOW; {三买} 三买TJ:=DD1 三买TJA1:=方向=1 AND L 三买TJA2:=DD1>MIN(GG2,GG3) AND GG3>DD2 AND DD4 三买A:=三买TJ AND 三买TJA1 AND 三买TJA2,COLORMAGENTA; {如果DD1>GG4成功率更高} {卖点}{主要是从形态考虑 买点 的逆向思维 不考虑空间} {一卖} 一卖TJ1:=方向=-1 AND H>MA13 AND HH1<=5; 一五段上涨:=GG1>GG2 AND GG1>GG3 AND DD1>DD2 AND DD1>DD3; 一卖TJA:=DD1>GG3; {缺口} 一卖A:=一卖TJ1 AND 一五段上涨 AND 一卖TJA,COLORGREEN; 一卖TJB:=DD1 一卖B:=一卖TJ1 AND 一五段上涨 AND 一卖TJB,COLORGREEN; 一卖TJC:=GG1>GG2 AND GG2>GG3 AND GG3>GG4 AND GG4>GG5 AND DD1>DD2 AND DD2>DD3 AND DD3>DD4 AND DD4>DD5; {连涨4段} 一卖C:=一卖TJ1 AND 一卖TJC,COLORGREEN; {27 - 68} {二卖} 卖TJ1:=方向=-1 AND H>MA13 AND HH1<=8; 二卖TJ:=GG1>DD1 AND GG1 三段上涨:=GG3 二卖TJA1:=DD1>GG3; {第一段下跌至少回到前中枢内} 二卖A:=卖TJ1 AND 二卖TJ AND 三段上涨 AND 二卖TJA1, LINETHICK0, COLORF0F000; {44-50} 五段上涨:=GG2>GG3 AND GG2>GG4 AND DD4 二卖TJB1:=GG4 二卖TJB2:=GG4>DD2; {不存在缺口} 二卖B1:=卖TJ1 AND 二卖TJ AND 五段上涨 AND 二卖TJB1, LINETHICK0, COLORF0F000;{38 - 48} 二卖B2:=卖TJ1 AND 二卖TJ AND 五段上涨 AND 二卖TJB2, LINETHICK0, COLORF0F000;{39 - 48} 一段上涨:=GG2>GG3 AND GG2>GG4 AND DD1>MIN(GG3, GG4); {在下跌时有点三卖的感觉} 二卖C1:=卖TJ1 AND 二卖TJ AND 一段上涨, LINETHICK0, COLORF0F000; {41 47} {三卖} 三卖TJ:=DD1 三卖TJA1:=方向=-1 AND H>MA13 AND HH1<=5; 三卖TJA2:=GG1 三卖A:=三卖TJ AND 三卖TJA1 AND 三卖TJA2 , LINETHICK0, COLORWHITE; {GG1 {买卖点提示} 一买:=一买A OR 一买B, COLORRED; 类二买:=类二买A, COLORRED; 二买:=二买A OR 二买B1 OR 二买B2, COLORYELLOW; 三买:=三买A, COLORMAGENTA; 一卖:=一卖A OR 一卖B OR 一卖C, COLORGREEN; 二卖:=二卖A OR 二卖B1 OR 二卖B2 OR 二卖C1, COLORF0F000; 三卖:=三卖A, COLORWHITE; 二三买合:=二买 AND 三买,COLORMAGENTA; {85 信号量少} 二三卖合:=二卖 AND 三卖, COLORF0F000; {13-87} 高成功率:=一买AAA OR 二买AAA OR 类二买AAA; 次高成功:=二三买合; 清仓:=二三卖合; DRAWTEXT(一买 AND FILTER(一买, 8), REF(L,1), '①'),COLORYELLOW; DRAWTEXT(类二买 AND FILTER(类二买, 8) , REF(L,1), '类②'),COLORYELLOW; DRAWTEXT(二买 AND FILTER(二买, 8), REF(L,1), '②'), COLORYELLOW; DRAWTEXT(三买 AND FILTER(三买, 8), REF(L,1), '③'),COLORYELLOW; DRAWTEXT(一卖 AND FILTER(一卖, 8), REF(H,1), '①'), COLORGREEN ; DRAWTEXT(二卖 AND FILTER(二卖, 8) , REF(H,1), '②'), COLORGREEN; DRAWTEXT(三卖 AND FILTER(三卖, 8) , REF(H,1), '③'), COLORGREEN; {涨停板} TB:=(C-REF(C,1))/REF(C,1)*100; STICKLINE(TB>9.9,O,C,2.5,0)COLORMAGENTA; STICKLINE(TB<-9.9,O,C,2.5,0)COLORGREEN; DRAWNUMBER(ISLASTBAR ,C,C),COLORYELLOW; {为了极点画线更准,LCY增加以下} 局部低点预选A:=BACKSET(LLV(L,5) 局部低点预选B:=BACKSET(局部低点预选A=0 AND REF(局部低点预选A,1)=1,2); 局部低点预选C:=IF(局部低点预选B=1 AND REF(局部低点预选B,1)=0,-1,0); 局部高点预选A:=BACKSET(HHV(H,5)>REF(HHV(H,4),1),4); 局部高点预选B:=BACKSET(局部高点预选A=0 AND REF(局部高点预选A,1)=1,2); 局部高点预选C:=IF(局部高点预选B=1 AND REF(局部高点预选B,1)=0,1,0); 缺口判断:=IF(L>REF(H,1),1,IF(H 距前高天:=BARSLAST(局部高点预选C=1); 距前低天:=BARSLAST(局部低点预选C=-1); 小值周期:=LOWRANGE(L); 大值周期:=TOPRANGE(H); 低保留AA:=IF(局部低点预选C=-1 AND REF(距前高天,1)>REF(距前低天,1) AND LLV(L,距前高天+1) 低保留AB:=IF(局部低点预选C=-1 AND REF(距前高天,1)<=REF(距前低天,1) AND (距前高天>=4 OR LLV(缺口判断,距前高天)=-1 OR LLV(L,距前低天+2) 低保留S:=IF((低保留AA=-1 OR 低保留AB=-1) AND L 预判:=IF((距前低天<4 AND HHV(缺口判断,距前低天)!=1) OR REF(低保留S,距前低天)=0,1,0); 判断:=IF(局部高点预选C=1 AND REF(距前低天,1)<=REF(距前高天,1) AND 预判=1 AND 大值周期>REF(小值周期,距前低天+1) AND 大值周期>REF(小值周期,距前低天) AND 大值周期>REF(大值周期,距前高天),1,0); 高保留A:=IF(局部高点预选C=1 AND REF(距前低天,1)>REF(距前高天,1) AND HHV(H,距前低天+1)>REF(HHV(H,距前低天+1),1),1,0); 高保留B:=IF(局部高点预选C=1 AND REF(距前低天,1)<=REF(距前高天,1) AND REF(低保留S,距前低天)=-1 AND (距前低天>=4 OR HHV(缺口判断,距前低天)=1),1,0); 高保留:=IF((高保留A=1 OR 高保留B=1 OR 判断=1) AND H>REF(L,距前低天+1),1,0); 预判A:=IF((距前高天<4 AND HHV(缺口判断,距前高天)!=1) OR REF(高保留,距前高天)=0,1,0); 判断A:=IF(局部低点预选C=-1 AND REF(距前高天,1)<=REF(距前低天,1) AND 预判A=1 AND 小值周期>REF(大值周期,距前高天+1) AND 小值周期>REF(大值周期,距前高天) AND 小值周期>REF(小值周期,距前低天),-1,0); 低保留A:=IF(局部低点预选C=-1 AND REF(距前高天,1)>REF(距前低天,1) AND LLV(L,距前高天+1) 低保留B:=IF(局部低点预选C=-1 AND REF(距前高天,1)<=REF(距前低天,1) AND (距前高天>=4 OR LLV(缺口判断,距前高天)=-1 OR 判断A=-1),-1,0); 低保留:=IF((低保留A=-1 OR 低保留B=-1) AND L 距前高天A:=BARSLAST(高保留=1); 距前低天A:=BARSLAST(低保留=-1); 预判X:=IF((距前低天A<4 AND HHV(缺口判断,距前低天A)!=1) OR REF(低保留,距前低天A)=0,1,0); 判断X:=IF(局部高点预选C=1 AND REF(距前低天A,1)<=REF(距前高天A,1) AND 预判X=1 AND 大值周期>REF(小值周期,距前低天A+1) AND 大值周期>REF(小值周期,距前低天A) AND 大值周期>REF(大值周期,距前高天A),1,0); 高保留XA:=IF(局部高点预选C=1 AND REF(距前低天A,1)>REF(距前高天A,1) AND HHV(H,距前低天A+1)>REF(HHV(H,距前低天A+1),1),1,0); 高保留XB:=IF(局部高点预选C=1 AND REF(距前低天A,1)<=REF(距前高天A,1) AND REF(低保留,距前低天A)=-1 AND (距前低天A>=4 OR HHV(缺口判断,距前低天A)=1),1,0); 高保留X:=IF((高保留XA=1 OR 高保留XB=1 OR 判断X=1) AND H>REF(L,距前低天A+1),1,0); 预判XA:=IF((距前高天A<4 AND HHV(缺口判断,距前高天A)!=1) OR REF(高保留XA,距前高天A)=0,1,0); 判断XA:=IF(局部低点预选C=-1 AND REF(距前高天A,1)<=REF(距前低天A,1) AND 预判XA=1 AND 小值周期>REF(大值周期,距前高天A+1) AND 小值周期>REF(大值周期,距前高天A) AND 小值周期>REF(小值周期,距前低天A),-1,0); 低保留XA:=IF(局部低点预选C=-1 AND REF(距前高天A,1)>REF(距前低天A,1) AND LLV(L,距前高天A+1) 低保留XB:=IF(局部低点预选C=-1 AND REF(距前高天A,1)<=REF(距前低天A,1) AND (距前高天A>=4 OR LLV(缺口判断,距前高天A)=-1 OR 判断XA=-1),-1,0); 低保留X:=IF((低保留XA=-1 OR 低保留XB=-1) AND L 距前高天YA:=BARSLAST(高保留X=1); 距前低天YA:=BARSLAST(低保留X=-1); 预判YX:=IF((距前低天YA<4 AND HHV(缺口判断,距前低天YA)!=1) OR REF(低保留X,距前低天YA)=0,1,0); 判断YX:=IF(局部高点预选C=1 AND REF(距前低天YA,1)<=REF(距前高天YA,1) AND 预判YX=1 AND 大值周期>REF(小值周期,距前低天YA+1) AND 大值周期>REF(小值周期,距前低天YA) AND 大值周期>REF(大值周期,距前高天YA),1,0); 高保留YXA:=IF(局部高点预选C=1 AND REF(距前低天YA,1)>REF(距前高天YA,1) AND HHV(H,距前低天YA+1)>REF(HHV(H,距前低天YA+1),1),1,0); 高保留YXB:=IF(局部高点预选C=1 AND REF(距前低天YA,1)<=REF(距前高天YA,1) AND REF(低保留X,距前低天YA)=-1 AND (距前低天YA>=4 OR HHV(缺口判断,距前低天YA)=1),1,0); 高保留YX:=IF((高保留YXA=1 OR 高保留YXB=1 OR 判断YX=1) AND H>REF(L,距前低天YA+1),1,0); 预判YXA:=IF((距前高天YA<4 AND HHV(缺口判断,距前高天YA)!=1) OR REF(高保留YXA,距前高天YA)=0,1,0); 判断YXA:=IF(局部低点预选C=-1 AND REF(距前高天YA,1)<=REF(距前低天YA,1) AND 预判YXA=1 AND 小值周期>REF(大值周期,距前高天YA+1) AND 小值周期>REF(大值周期,距前高天YA) AND 小值周期>REF(小值周期,距前低天YA),-1,0); 低保留YXA:=IF(局部低点预选C=-1 AND REF(距前高天YA,1)>REF(距前低天YA,1) AND LLV(L,距前高天YA+1) 低保留YXB:=IF(局部低点预选C=-1 AND REF(距前高天YA,1)<=REF(距前低天YA,1) AND (距前高天YA>=4 OR LLV(缺口判断,距前高天YA)=-1 OR 判断YXA=-1),-1,0); 低保留YX:=IF((低保留YXA=-1 OR 低保留YXB=-1) AND L AAAD:=IF(高保留YX=1 AND 低保留YX=-1 AND H>REF(H,REF(距前高天YA,1)+2),1,IF(高保留YX=1 AND 低保留YX=-1 AND L 极点保留:=IF(AAAD=0,高保留YX+低保留YX,AAAD); {局部极点:IF(极点保留=-1,L,IF(极点保留=1,H,DRAWNULL)) CIRCLEDOT COLORYELLOW;高低点都画黄圈} 局部极低:IF(极点保留=-1,L,DRAWNULL), CIRCLEDOT COLORYELLOW; 局部极高:IF(极点保留=1,H,DRAWNULL), CIRCLEDOT COLORCYAN,LINETHICK2; DRAWLINE(极点保留=-1,局部极低,极点保留=1,局部极高,0),COLORYELLOW;{极点画线} DRAWLINE(极点保留=1,局部极高,极点保留=-1,局部极低,0),COLORCYAN;{极点画线} { DD1:=BARSLAST(ABS(极点保留)!=1);} DRAWTEXT(极点保留=1,局部极高*1.03,'↓卖'),COLORCYAN; STICKLINE(极点保留=1,局部极高,局部极高,20,0),COLORCYAN; DRAWNUMBER(极点保留=1,局部极高,局部极高)COLORCYAN; DRAWTEXT(极点保留=-1,局部极低*0.97,'↖买'),COLORYELLOW; STICKLINE(极点保留=-1,局部极低,局部极低,20,0),COLORRED; DRAWNUMBER(极点保留=-1,局部极低,局部极低),COLORRED; DRAWTEXT_FIX(1,0.980,20,1,'★云指标公式网'),COLOR666666; {缠论均线提示} 重心:=(H+L+O+C*3)/6; NX:=(3*CLOSE+LOW+OPEN+HIGH)/6; 牛线:=(20*NX+19*REF(NX,1)+18*REF(NX,2)+17*REF(NX,3)+16*REF(NX,4) +15*REF(NX,5)+14*REF(NX,6)+13*REF(NX,7)+12*REF(NX,8)+11*REF(NX,9) +10*REF(NX,10)+9*REF(NX,11)+8*REF(NX,12)+7*REF(NX,13)+6*REF(NX,14) +5*REF(NX,15)+4*REF(NX,16)+3*REF(NX,17) +2*REF(NX,18)+REF(NX,20))/210; 牛熊线:MA(牛线,4),COLORGREEN,LINETHICK2; IF(牛熊线<=牛线,牛熊线,DRAWNULL),LINETHICK2,COLORRED; MID:=(3*CLOSE+LOW+OPEN+HIGH)/6; DKX +14*REF(MID,6)+13*REF(MID,7)+12*REF(MID,8)+11*REF(MID,9)+10*REF(MID,10)+9*REF(MID,11) +8*REF(MID,12)+7*REF(MID,13)+6*REF(MID,14)+5*REF(MID,15)+4*REF(MID,16)+3*REF(MID,17) +2*REF(MID,18)+REF(MID,20))/210,COLORRED,LINETHICK1; MADKX:MA(DKX,10),COLORFFCC18,LINETHICK1; 湿吻:=CROSS(DKX,MADKX) AND DKX>MADKX; DRAWTEXT(湿吻,DKX*0.98,' 湿吻'),COLORYELLOW; {唇吻:=REF(DKX,1)REF(DKX,1 )AND REF(DKX,1)<牛熊线 AND DKX>MADKX;} 唇吻:=CROSS(MADKX,DKX) AND DKX DRAWTEXT(唇吻,DKX*0.98,' 唇吻'),COLORYELLOW;