通达信公式(通达信主图公式) 消息里一直有朋友在问是否可以分享缠论画笔的源码。现分享出来,并且在里面加入了时间周期和换手率。但是缠论博大精深,目前市场上也没有能精确表达的源码,此源码缺点明显,仅供缠论爱好者研究。 缠论画笔源码 N:5,100,10; 振幅:0,1,1; 统计:0,1,1; 局部低点预选A:BACKSET(LLV(L,10N)lt;REF(LLV(L,10N1),1),10N1); 局部低点预选B:BACKSET(局部低点预选A0ANDREF(局部低点预选A,1)1,2); 局部低点预选C:IF(局部低点预选B1ANDREF(局部低点预选B,1)0,1,0); 局部高点预选A:BACKSET(HHV(H,10N)gt;REF(HHV(H,10N1),1),10N1); 局部高点预选B:BACKSET(局部高点预选A0ANDREF(局部高点预选A,1)1,2); 局部高点预选C:IF(局部高点预选B1ANDREF(局部高点预选B,1)0,1,0); 缺口判断:IF(Lgt;REF(H,1),1,IF(Hlt;REF(L,1),1,0)); 距前高天:BARSLAST(局部高点预选C1); 距前低天:BARSLAST(局部低点预选C1); 小值周期:LOWRANGE(L); 大值周期:TOPRANGE(H); 低保留AA:IF(局部低点预选C1ANDREF(距前高天,1)gt;REF(距前低天,1)ANDLLV(L,距前高天1)lt;REF(LLV(L,距前高天1),1),1,0); 低保留AB:IF(局部低点预选C1ANDREF(距前高天,1)lt;REF(距前低天,1)AND(距前高天gt;4ORLLV(缺口判断,距前高天)1ORLLV(L,距前低天2)lt;REF(LLV(L,距前低天1),1)),1,0); 低保留S:IF((低保留AA1OR低保留AB1)ANDLlt;REF(H,距前高天1),1,0); 预判:IF((距前低天lt;4ANDHHV(缺口判断,距前低天)!1)ORREF(低保留S,距前低天)0,1,0); 判断:IF(局部高点预选C1ANDREF(距前低天,1)lt;REF(距前高天,1)AND预判1AND大值周期gt;REF(小值周期,距前低天1)AND大值周期gt;REF(小值周期,距前低天)AND大值周期gt;REF(大值周期,距前高天),1,0); 高保留A:IF(局部高点预选C1ANDREF(距前低天,1)gt;REF(距前高天,1)ANDHHV(H,距前低天1)gt;REF(HHV(H,距前低天1),1),1,0); 高保留B:IF(局部高点预选C1ANDREF(距前低天,1)lt;REF(距前高天,1)ANDREF(低保留S,距前低天)1AND(距前低天gt;4ORHHV(缺口判断,距前低天)1),1,0); 高保留:IF((高保留A1OR高保留B1OR判断1)ANDHgt;REF(L,距前低天1),1,0); 预判A:IF((距前高天lt;4ANDHHV(缺口判断,距前高天)!1)ORREF(高保留,距前高天)0,1,0); 判断A:IF(局部低点预选C1ANDREF(距前高天,1)lt;REF(距前低天,1)AND预判A1AND小值周期gt;REF(大值周期,距前高天1)AND小值周期gt;REF(大值周期,距前高天)AND小值周期gt;REF(小值周期,距前低天),1,0); 低保留A:IF(局部低点预选C1ANDREF(距前高天,1)gt;REF(距前低天,1)ANDLLV(L,距前高天1)lt;REF(LLV(L,距前高天1),1),1,0); 低保留B:IF(局部低点预选C1ANDREF(距前高天,1)lt;REF(距前低天,1)AND(距前高天gt;4ORLLV(缺口判断,距前高天)1OR判断A1),1,0); 低保留:IF((低保留A1OR低保留B1)ANDLlt;REF(H,距前高天1),1,0); 距前高天A:BARSLAST(高保留1); 距前低天A:BARSLAST(低保留1); 预判X:IF((距前低天Alt;4ANDHHV(缺口判断,距前低天A)!1)ORREF(低保留,距前低天A)0,1,0); 判断X:IF(局部高点预选C1ANDREF(距前低天A,1)lt;REF(距前高天A,1)AND预判X1AND大值周期gt;REF(小值周期,距前低天A1)AND大值周期gt;REF(小值周期,距前低天A)AND大值周期gt;REF(大值周期,距前高天A),1,0); 高保留XA:IF(局部高点预选C1ANDREF(距前低天A,1)gt;REF(距前高天A,1)ANDHHV(H,距前低天A1)gt;REF(HHV(H,距前低天A1),1),1,0); 高保留XB:IF(局部高点预选C1ANDREF(距前低天A,1)lt;REF(距前高天A,1)ANDREF(低保留,距前低天A)1AND(距前低天Agt;4ORHHV(缺口判断,距前低天A)1),1,0); 高保留X:IF((高保留XA1OR高保留XB1OR判断X1)ANDHgt;REF(L,距前低天A1),1,0); 预判XA:IF((距前高天Alt;4ANDHHV(缺口判断,距前高天A)!1)ORREF(高保留XA,距前高天A)0,1,0); 判断XA:IF(局部低点预选C1ANDREF(距前高天A,1)lt;REF(距前低天A,1)AND预判XA1AND小值周期gt;REF(大值周期,距前高天A1)AND小值周期gt;REF(大值周期,距前高天A)AND小值周期gt;REF(小值周期,距前低天A),1,0); 低保留XA:IF(局部低点预选C1ANDREF(距前高天A,1)gt;REF(距前低天A,1)ANDLLV(L,距前高天A1)lt;REF(LLV(L,距前高天A1),1),1,0); 低保留XB:IF(局部低点预选C1ANDREF(距前高天A,1)lt;REF(距前低天A,1)AND(距前高天Agt;4ORLLV(缺口判断,距前高天A)1OR判断XA1),1,0); 低保留X:IF((低保留XA1OR低保留XB1)ANDLlt;REF(H,距前高天A1),1,0); 距前高天YA:BARSLAST(高保留X1); 距前低天YA:BARSLAST(低保留X1); 预判YX:IF((距前低天YAlt;4ANDHHV(缺口判断,距前低天YA)!1)ORREF(低保留X,距前低天YA)0,1,0); 判断YX:IF(局部高点预选C1ANDREF(距前低天YA,1)lt;REF(距前高天YA,1)AND预判YX1AND大值周期gt;REF(小值周期,距前低天YA1)AND大值周期gt;REF(小值周期,距前低天YA)AND大值周期gt;REF(大值周期,距前高天YA),1,0); 高保留YXA:IF(局部高点预选C1ANDREF(距前低天YA,1)gt;REF(距前高天YA,1)ANDHHV(H,距前低天YA1)gt;REF(HHV(H,距前低天YA1),1),1,0); 高保留YXB:IF(局部高点预选C1ANDREF(距前低天YA,1)lt;REF(距前高天YA,1)ANDREF(低保留X,距前低天YA)1AND(距前低天YAgt;4ORHHV(缺口判断,距前低天YA)1),1,0); 高保留YX:IF((高保留YXA1OR高保留YXB1OR判断YX1)ANDHgt;REF(L,距前低天YA1),1,0); 预判YXA:IF((距前高天YAlt;4ANDHHV(缺口判断,距前高天YA)!1)ORREF(高保留YXA,距前高天YA)0,1,0); 判断YXA:IF(局部低点预选C1ANDREF(距前高天YA,1)lt;REF(距前低天YA,1)AND预判YXA1AND小值周期gt;REF(大值周期,距前高天YA1)AND小值周期gt;REF(大值周期,距前高天YA)AND小值周期gt;REF(小值周期,距前低天YA),1,0); 低保留YXA:IF(局部低点预选C1ANDREF(距前高天YA,1)gt;REF(距前低天YA,1)ANDLLV(L,距前高天YA1)lt;REF(LLV(L,距前高天YA1),1),1,0); 低保留YXB:IF(局部低点预选C1ANDREF(距前高天YA,1)lt;REF(距前低天YA,1)AND(距前高天YAgt;4ORLLV(缺口判断,距前高天YA)1OR判断YXA1),1,0); 低保留YX:IF((低保留YXA1OR低保留YXB1)ANDLlt;REF(H,距前高天YA1),1,0); AAAD:IF(高保留YX1AND低保留YX1ANDHgt;REF(H,REF(距前高天YA,1)2),1,IF(高保留YX1AND低保留YX1ANDLlt;REF(L,REF(距前低天YA,1)2),1,0)); 极点保留:IF(AAAD0,高保留YX低保留YX,AAAD); 极点:IF(极点保留1,L,IF(极点保留1,H,DRAWNULL)),CIRCLEDOT,COLORLIMAGENTA; 顶周期:N10; 底周期:N10; 上内:LLVBARS(H,顶周期); 上外:LLVBARS(L,顶周期); 下内:HHVBARS(L,底周期); 下外:HHVBARS(H,底周期); 上力度:HHV(L,上内1)gt;LLV(H,上内1); 下力度:HHV(L,下内1)gt;LLV(H,下内1); 上包含:COUNT(Lgt;REF(L,1),上外)gt;2ANDCOUNT(Hgt;REF(H,1),上内)gt;2; 下包含:COUNT(Hlt;REF(H,1),下外)gt;2ANDCOUNT(Llt;REF(L,1),下内)gt;2; 顶A:顶周期AND上力度AND上包含AND上外gt;3; 底B:底周期AND下力度AND下包含AND下外gt;3; 顶:顶AANDHHHV(H,BARSLAST(底B))ANDBARSLAST(底B)gt;3; 底:底BANDLLLV(L,BARSLAST(顶A))ANDBARSLAST(顶A)gt;3; C1:DRAWLINE(顶,H,底,L,0); C2:DRAWLINE(底,L,顶,H,0); GD:C2C1AND顶; DD:C2C1AND底; CC:DDORGD; 变点:IF(DD1,L,IF(GD1,H,DRAWNULL)),CIRCLEDOT,COLORYELLOW; 交易周期:BARSLAST(CC)1,NODRAW; 区间成交额:SUM(AMO。AMOW10000,交易周期),NODRAW;{亿} 区间换手:IF(CC0,SUM(HSL。HSL,交易周期),0),COLORRED,NODRAW;{} 区间涨幅:CREF(C,交易周期)100100,NODRAW,COLORWHITE;{} 高点换手:VARCAT(VARCAT(39;换39;,VAR2STR(SUM(HSL。HSL,BARSLAST(GD)1),2)),39;39;); 低点换手:VARCAT(VARCAT(39;换39;,VAR2STR(SUM(HSL。HSL,BARSLAST(DD)1),2)),39;39;); 区间振幅:IF(GDgt;0,(REF(H,BARSLAST(GD))L100100),HREF(L,BARSLAST(DD))100100),COLORYELLOW,NODRAW; 高跌幅A:IF(振幅1,(REF(H,BARSLAST(GD))L100100),CREF(C,BARSLAST(GD)1)100100); 低涨幅A:IF(振幅1,HREF(L,BARSLAST(DD))100100,CREF(C,BARSLAST(DD)1)100100); 高跌幅:IF(振幅1,VARCAT(VARCAT(39;振39;,VAR2STR(高跌幅A,2)),39;39;),VARCAT(VARCAT(39;幅39;,VAR2STR(高跌幅A,2)),39;39;)); 低涨幅:IF(振幅1,VARCAT(VARCAT(39;振39;,VAR2STR(低涨幅A,2)),39;39;),VARCAT(VARCAT(39;幅39;,VAR2STR(低涨幅A,2)),39;39;)); 高点时间:VARCAT(VARCAT(39;交易39;,VAR2STR(BARSLAST(GD)1,0)),39;天39;); 低点时间:VARCAT(VARCAT(39;交易39;,VAR2STR(BARSLAST(DD)1,0)),39;天39;); 星期:VARCAT(VARCAT(39;(39;,IF(WEEKDAY1,39;一39;,IF(WEEKDAY2,39;二39;,IF(WEEKDAY3,39;三39;,IF(WEEKDAY4,39;四39;,IF(WEEKDAY5,39;五39;,39;39;)))))),39;)39;); 日期:VARCAT(VARCAT(VARCAT(VARCAT(VARCAT(VARCAT(VAR2STR(YEAR,0),39;年39;),VAR2STR(MONTH,0)),39;月39;),VAR2STR(DAY,0)),39;日39;),星期); 价格:VARCAT(VAR2STR(极点,2),39;元39;); 日期价格:VARCAT(日期,价格); 高点显示:VARCAT(VARCAT(低点时间,低涨幅),低点换手); 低点显示:VARCAT(VARCAT(高点时间,高跌幅),高点换手); ST:NAMELIKE(39;ST39;)1ORNAMELIKE(39;ST39;)1ORNAMELIKE(39;SST39;)1ORNAMELIKE(39;SST39;)1ORNAMELIKE(39;SST39;)1; 明涨停:IF(ST1,ZTPRICE(C,0。05),ZTPRICE(C,0。1)),COLORRED,NODRAW; 明跌停:IF(ST1,DTPRICE(C,0。05),DTPRICE(C,0。1)),COLORGREEN,NODRAW; DRAWBAND(C1,RGB(0,0,0),C1,RGB(0,0,0)),COLORGREEN,DOTLINE; DRAWBAND(C2,RGB(0,0,0),C2,RGB(0,0,0)),COLORRED,DOTLINE; DRAWTEXT(GD1AND统计1,H,高点显示),DRAWABOVE,COLORRED; DRAWTEXT(DD1AND统计1,L,低点显示),DRAWABOVE,COLORGREEN; DRAWTEXT(GD1AND统计1,H0。93,日期价格),DRAWABOVE; DRAWTEXT(DD1AND统计1,L,日期价格);