相关简介:通达信缠论指标公式源码分享

     通达信指标公式源码概况:

  指标类别:通达信指标公式

  授权方式:免费版

  指标评级:★★★★★

  指标分类:策略

  画线方法:副图

   考虑了很久,要不要拿出来分享?再三思虑,还是把自己用的缠论自动画笔画中枢的指标拿出来。

   本指标不需要导入DLL文件,跟普通指标一样运行顺滑,就是一个普通指标运行量。

   因为我也深受dll导入文件的烦恼,不但运行慢,导致软件会经常崩溃。因为是免DLL的,自动划线用到未来函数(缠论公式都一样),不喜勿用

   使用说明:

   1指标周期越小,实战效果越好。

   2本指标在自动画出中枢的基础上,会自动延伸虚线,让你自己感受压力支撑,也就是一眼识别三买三卖点

   3一切指标都是工具,对缠论爱好者,多看缠师文章,指标只作为参考。

通达信指标公式源码:

   K:=1;

   局部低点预选A:=BacKSET(LLV(L,5)<REF(LLV(L,4),1),4);

   局部低点预选B:=BACKSET(局部低点预选A=0ANDREF(局部低点预选A,1)=1,2);

   局部低点预选C:=IF(局部低点预选B=1ANDREF(局部低点预选B,1)=0,-1,0);

   局部高点预选A:=BACKSET(HHV(H,5)>REF(HHV(H,4),1),4);

   局部高点预选B:=BACKSET(局部高点预选A=0ANDREF(局部高点预选A,1)=1,2);

   局部高点预选C:=IF(局部高点预选B=1ANDREF(局部高点预选B,1)=0,1,0);

   缺口判断:=IF(L>REF(H,1),1,IF(H<REF(L,1),-1,0));

   距前高天:=BArslAst(局部高点预选C=1);

   距前低天:=BARSLAST(局部低点预选C=-1);

   小值周期:=LOwrANGE(L);

   大值周期:=topRANGE(H);

   低保留AA:=IF(局部低点预选C=-1ANDREF(距前高天,1)>REF(距前低天,1)ANDLLV(L,距前高天+1)<REF(LLV(L,距前高天+1),1),-1,0);

   低保留AB:=IF(局部低点预选C=-1ANDREF(距前高天,1)<=REF(距前低天,1)AND(距前高天>=4ORLLV(缺口判断,距前高天)=-1ORLLV(L,距前低天+2)<REF(LLV(L,距前低天+1),1)),-1,0);

   低保留S:=IF((低保留AA=-1OR低保留AB=-1)ANDL<REF(H,距前高天+1),-1,0);

   预判:=IF((距前低天<4ANDHHV(缺口判断,距前低天)!=1)ORREF(低保留S,距前低天)=0,1,0);

   判断:=IF(局部高点预选C=1ANDREF(距前低天,1)<=REF(距前高天,1)AND预判=1AND大值周期>REF(小值周期,距前低天+1)AND大值周期>REF(小值周期,距前低天)AND大值周期>REF(大值周期,距前高天),1,0);

   高保留A:=IF(局部高点预选C=1ANDREF(距前低天,1)>REF(距前高天,1)ANDHHV(H,距前低天+1)>REF(HHV(H,距前低天+1),1),1,0);

   高保留B:=IF(局部高点预选C=1ANDREF(距前低天,1)<=REF(距前高天,1)ANDREF(低保留S,距前低天)=-1AND(距前低天>=4ORHHV(缺口判断,距前低天)=1),1,0);

   高保留:=IF((高保留A=1OR高保留B=1OR判断=1)ANDH>REF(L,距前低天+1),1,0);

   预判A:=IF((距前高天<4ANDHHV(缺口判断,距前高天)!=1)ORREF(高保留,距前高天)=0,1,0);

   判断A:=IF(局部低点预选C=-1ANDREF(距前高天,1)<=REF(距前低天,1)AND预判A=1AND小值周期>REF(大值周期,距前高天+1)AND小值周期>REF(大值周期,距前高天)AND小值周期>REF(小值周期,距前低天),-1,0);

   低保留A:=IF(局部低点预选C=-1ANDREF(距前高天,1)>REF(距前低天,1)ANDLLV(L,距前高天+1)<REF(LLV(L,距前高天+1),1),-1,0);

   低保留B:=IF(局部低点预选C=-1ANDREF(距前高天,1)<=REF(距前低天,1)AND(距前高天>=4ORLLV(缺口判断,距前高天)=-1OR判断A=-1),-1,0);

   低保留:=IF((低保留A=-1OR低保留B=-1)ANDL<REF(H,距前高天+1),-1,0);

   距前高天A:=BARSLAST(高保留=1);

   距前低天A:=BARSLAST(低保留=-1);

   预判X:=IF((距前低天A<4ANDHHV(缺口判断,距前低天A)!=1)ORREF(低保留,距前低天A)=0,1,0);

   判断X:=IF(局部高点预选C=1ANDREF(距前低天A,1)<=REF(距前高天A,1)AND预判X=1AND大值周期>REF(小值周期,距前低天A+1)AND大值周期>REF(小值周期,距前低天A)AND大值周期>REF(大值周期,距前高天A),1,0);

   高保留XA:=IF(局部高点预选C=1ANDREF(距前低天A,1)>REF(距前高天A,1)ANDHHV(H,距前低天A+1)>REF(HHV(H,距前低天A+1),1),1,0);

   高保留XB:=IF(局部高点预选C=1ANDREF(距前低天A,1)<=REF(距前高天A,1)ANDREF(低保留,距前低天A)=-1AND(距前低天A>=4ORHHV(缺口判断,距前低天A)=1),1,0);

   高保留X:=IF((高保留XA=1OR高保留XB=1OR判断X=1)ANDH>REF(L,距前低天A+1),1,0);

   预判XA:=IF((距前高天A<4ANDHHV(缺口判断,距前高天A)!=1)ORREF(高保留XA,距前高天A)=0,1,0);

   判断XA:=IF(局部低点预选C=-1ANDREF(距前高天A,1)<=REF(距前低天A,1)AND预判XA=1AND小值周期>REF(大值周期,距前高天A+1)AND小值周期>REF(大值周期,距前高天A)AND小值周期>REF(小值周期,距前低天A),-1,0);

   低保留XA:=IF(局部低点预选C=-1ANDREF(距前高天A,1)>REF(距前低天A,1)ANDLLV(L,距前高天A+1)<REF(LLV(L,距前高天A+1),1),-1,0);

   低保留XB:=IF(局部低点预选C=-1ANDREF(距前高天A,1)<=REF(距前低天A,1)AND(距前高天A>=4ORLLV(缺口判断,距前高天A)=-1OR判断XA=-1),-1,0);

   低保留X:=IF((低保留XA=-1OR低保留XB=-1)ANDL<REF(H,距前高天A+1),-1,0);

   距前高天YA:=BARSLAST(高保留X=1);

   距前低天YA:=BARSLAST(低保留X=-1);

   预判YX:=IF((距前低天YA<4ANDHHV(缺口判断,距前低天YA)!=1)ORREF(低保留X,距前低天YA)=0,1,0);

   判断YX:=IF(局部高点预选C=1ANDREF(距前低天YA,1)<=REF(距前高天YA,1)AND预判YX=1AND大值周期>REF(小值周期,距前低天YA+1)AND大值周期>REF(小值周期,距前低天YA)AND大值周期>REF(大值周期,距前高天YA),1,0);

   高保留YXA:=IF(局部高点预选C=1ANDREF(距前低天YA,1)>REF(距前高天YA,1)ANDHHV(H,距前低天YA+1)>REF(HHV(H,距前低天YA+1),1),1,0);

   高保留YXB:=IF(局部高点预选C=1ANDREF(距前低天YA,1)<=REF(距前高天YA,1)ANDREF(低保留X,距前低天YA)=-1AND(距前低天YA>=4ORHHV(缺口判断,距前低天YA)=1),1,0);

   高保留YX:=IF((高保留YXA=1OR高保留YXB=1OR判断YX=1)ANDH>REF(L,距前低天YA+1),1,0);

   预判YXA:=IF((距前高天YA<4ANDHHV(缺口判断,距前高天YA)!=1)ORREF(高保留YXA,距前高天YA)=0,1,0);

   判断YXA:=IF(局部低点预选C=-1ANDREF(距前高天YA,1)<=REF(距前低天YA,1)AND预判YXA=1AND小值周期>REF(大值周期,距前高天YA+1)AND小值周期>REF(大值周期,距前高天YA)AND小值周期>REF(小值周期,距前低天YA),-1,0);

   低保留YXA:=IF(局部低点预选C=-1ANDREF(距前高天YA,1)>REF(距前低天YA,1)ANDLLV(L,距前高天YA+1)<REF(LLV(L,距前高天YA+1),1),-1,0);

   低保留YXB:=IF(局部低点预选C=-1ANDREF(距前高天YA,1)<=REF(距前低天YA,1)AND(距前高天YA>=4ORLLV(缺口判断,距前高天YA)=-1OR判断YXA=-1),-1,0);

   低保留YX:=IF((低保留YXA=-1OR低保留YXB=-1)ANDL<REF(H,距前高天YA+1),-1,0);

   AAAD:=IF(高保留YX=1AND低保留YX=-1ANDH>REF(H,REF(距前高天YA,1)+2),1,IF(高保留YX=1AND低保留YX=-1ANDL<REF(L,REF(距前低天YA,1)+2),-1,0));

   极点保留:=IF(AAAD=0,高保留YX+低保留YX,AAAD);

   局部极点:IF(极点保留=-1,L,IF(极点保留=1,H,DRAWNULL)),CIRCLEDOT,COLORYELLOW;

   局部天数:BARSLAST(Abs(极点保留)),NODRAW;

   局部换手:IF(极点保留=0,SUM(“HSL.HSL”,局部天数),0),NODRAW;

   局部涨跌:C/REF(C,局部天数)*100-100,NODRAW,COLORWHITE;

   换手G:=VARCAT(VAR2STR(SUM(“HSL.HSL”,BARSLAST(高保留X)),2),’%H’);

   高点换手:=VARCAT(VARCAT(VARCAT(换手G,'(‘),VAR2STR(BARSLAST(高保留X),0)),’T)’);

   换手D:=VARCAT(VAR2STR(SUM(“HSL.HSL”,BARSLAST(低保留X)),2),’%H’);

   低点换手:=VARCAT(VARCAT(VARCAT(换手D,'(‘),VAR2STR(BARSLAST(低保留X),0)),’T)’);

   高跌幅:=IF(K=1,L/REF(H,BARSLAST(高保留X))*100-100,C/REF(C,BARSLAST(高保留X))*100-100);

   低涨幅:=IF(K=1,H/REF(L,BARSLAST(低保留X))*100-100,C/REF(C,BARSLAST(低保留X))*100-100);

   高跌幅A:=VARCAT(VAR2STR(高跌幅,2),’%F’);

   低涨幅A:=VARCAT(VAR2STR(低涨幅,2),’%F’);

   高点显示:=VARCAT(低点换手,低涨幅A);

   低点显示:=VARCAT(高点换手,高跌幅A);

   DRAWLINE(极点保留=-1,局部极点,极点保留=1,局部极点,0),COLORLIRED;

   DRAWLINE(极点保留=1,局部极点,极点保留=-1,局部极点,0),COLORYELLOW;

   DRAWTEXT(极点保留=-1,L*0.99,低点显示),COLORGREEN;

   DRAWTEXT(极点保留=1,H*1.01,高点显示),COLORYELLOW;

   DRAWNUMBER(极点保留=1,H,局部极点);

   DRAWNUMBER(极点保留=-1,L,局部极点),DRAWAbovE;

   老笔:=1;

   G:=MA(C,5);

   D:=MA(C,10);

   HH:=REF(H,5)=HHV(H,11);

   LL:=REF(L,5)=LLV(L,11);

   FG01:=BACKSET(HH,6)>BACKSET(HH,5);

   FD01:=BACKSET(LL,6)>BACKSET(LL,5);

   FG02:=IF(BARSLAST(FG01)=BARSLAST(FD01)ANDG>D,FG01,

   IF(BARSLAST(FD01)>BARSLAST(FG01),FG01,0));

   FD02:=IF(BARSLAST(FG01)=BARSLAST(FD01)ANDD>G,FD01,

   IF(BARSLAST(FG01)>BARSLAST(FD01),FD01,0));

   FG0:=FG02ANDH=HHV(H,BARSLAST(FD02));

   FD0:=FD02ANDL=LLV(L,BARSLAST(FG02));

   GP:IF(FG0,H,DRAWNULL),CIRCLEDOT,COLORCYAN;

   DP:IF(FD0,L,DRAWNULL),CIRCLEDOT,COLORCYAN;

   GQ:=L>REF(H,1)ANDDAY!=REF(DAY,1);

   DQ:=H<REF(L,1)ANDDAY!=REF(DAY,1);

   GQL:=REF(L,BARSLAST(GQ));

   DQH:=REF(H,BARSLAST(DQ));

   FGH:=REF(H,BARSLAST(FG0));

   FGL:=REF(L,BARSLAST(FG0));

   FGH1:=REF(H,BARSLAST(FG0)+1);

   FGL1:=REF(L,BARSLAST(FG0)+1);

   FGH2:=REF(H,BARSLAST(FG0)+2);

   FGL2:=REF(L,BARSLAST(FG0)+2);

   FDH:=REF(H,BARSLAST(FD0));

   FDL:=REF(L,BARSLAST(FD0));

   FDH1:=REF(H,BARSLAST(FD0)+1);

   FDL1:=REF(L,BARSLAST(FD0)+1);

   FDH2:=REF(H,BARSLAST(FD0)+2);

   FDL2:=REF(L,BARSLAST(FD0)+2);

   FGZH:=IF(FGL<=FGL1,FGH2,FGH1);

   FGZL:=IF(FGH1<FGL,FGL,IF(FGL<=FGL1,FGL2,FGL1));

   FDZH:=IF(FDL1>FDH,FDH,IF(FDH>=FDH1,FDH2,FDH1));

   FDZL:=IF(FDH>=FDH1,FDL2,FDL1);

   FG1:=FGH>FDZHANDFG0;

   FD1:=FDL<FGZLANDFD0;

   FG:=FG1ANDFGH>FDHANDFGL>FDLANDFGL1>FDL;

   FD:=FD1ANDFDL<FGLANDFDH<FGHANDFDH1<FGH;

   BH0:=(H<=REF(H,1)ANDL>=REF(L,1))OR(H>=REF(H,1)ANDL<=REF(L,1));

   BHG:=COUNT(BH0,BARSLAST(FD0));

   BHD:=COUNT(BH0,BARSLAST(FG0));

   BGQ:=COUNT(GQ,BARSLAST(FD0));

   BDQ:=COUNT(DQ,BARSLAST(FG0));

   BK0:=IF(BHG>0,BHG+2+老笔,IF(BHD,BHD+2+老笔,3));

   BK:=IF(BGQ,BK0-BGQ,IF(BDQ,BK0-BDQ,BK0));

   G1X:=(FGANDBARSLAST(FD)>BK);

   D1X:=(FDANDBARSLAST(FG)>BK);

   G1:=(FG0ANDREF(H,BARSLAST(FG0))>=REF(H,BARSLAST(G1X))ANDBARSLAST(D1X)>BARSLAST(G1X))

   OR(FG1ANDCOUNT(GQ,BARSLAST(FD1))>0ANDREF(H,BARSLAST(FG1))>REF(H,BARSLAST(G1X)));

   D1:=(FD0ANDREF(L,BARSLAST(FD0))<=REF(L,BARSLAST(D1X))ANDBARSLAST(G1X)>BARSLAST(D1X))

   OR(FD1ANDCOUNT(DQ,BARSLAST(FG1))>0ANDREF(L,BARSLAST(FD1))<REF(H,BARSLAST(D1X)));

   G1H:=IF(BARSLAST(D1)>BARSLAST(G1),REF(H,BARSLAST(G1)),REF(H,BARSLAST(D1))),;

   D1L:=IF(BARSLAST(G1)>BARSLAST(D1),REF(L,BARSLAST(D1)),REF(L,BARSLAST(G1)));

   G2:=G1ANDH=HHV(G1H,BARSLAST(D1)+1)ANDH>REF(H,1)ANDBARSLAST(D1)>BARSLAST(G1);

   D2:=D1ANDL=LLV(D1L,BARSLAST(G1)+1)ANDL<REF(L,1)ANDBARSLAST(G1)>BARSLAST(D1);

   G3:=G2OR(FG0ANDREF(H,BARSLAST(FG0))>REF(H,BARSLAST(G2))ANDBARSLAST(D2)>BARSLAST(G2));

   D3:=D2OR(FD0ANDREF(L,BARSLAST(FD0))<REF(L,BARSLAST(D2))ANDBARSLAST(G2)>BARSLAST(D2));

   GPB:IF(G1X,H,DRAWNULL),CIRCLEDOT,COLORYELLOW;

   DPB:IF(D1X,L,DRAWNULL),CIRCLEDOT,COLORYELLOW;

   {画线}

   NN:=G3;UU:=D3;

   L1:DRAWLINE(UU,L,NN,H,0),COLORRED;L2:DRAWLINE(NN,H,UU,L,0),COLORYELLOW;

   {标示端点数值}

   {DRAWNUMBER(L1ANDL2ANDNN,H,H),COLORLIRED;DRAWNUMBER(L1ANDL2ANDUU,L,L),COLORLIMAGENTA;};

   行业:=STRCAT(‘所属行业板块:’,HYBLOCK);

   概念:=STRCAT(‘,所属概念板块:’,GNBLOCK);

   地域:=STRCAT(‘,所属地域板块:’,DYBLOCK);

   指数:=STRCAT(‘,所属指数板块:’,ZSBLOCK);

   字幕1:=STRCAT(行业,概念);

   字幕2:=STRCAT(地域,指数);

   字幕:=STRCAT(字幕1,字幕2);

   DRAWTEXT_FIX(ISLASTBAR,0,0,0,字幕);{概念};

[源码注释]通达信公式动态翻译结果

TJ赋值:开盘价>1日前的最高价 AND 最低价>1日前的最高价

输出XG:最近40日存在条件连续成立次数=2 AND TJ

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。