通达信天堂分笔源码

2016-10-08 21:51:00来源:本站整理浏览:240

{【天堂分笔】-接近完美的通达信分笔公式
        2011-8-28        地藏
        最终版
        说明:
 ----------------------------       
         参数:老笔=1,使用老笔定义,默认为0,使用新笔定义
        缺口:反向缺口不破前笔,只看成一根K线
        包含:使用近似算法可处理80%的情况
        运行环境:需要通达信内核为5.68以上
}

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) AND G>D,FG01,
         IF(BARSLAST(FD01)>BARSLAST(FG01),FG01,0));
 FD02:=IF(BARSLAST(FG01)=BARSLAST(FD01) AND D>G,FD01,
         IF(BARSLAST(FG01)>BARSLAST(FD01),FD01,0));
 FG0:=FG02 AND H=HHV(H,BARSLAST(FD02));
 FD0:=FD02 AND L=LLV(L,BARSLAST(FG02));
 GP:IF(FG0,H,DRAWNULL),CIRCLEDOT,COLORCYAN;
 DP:IF(FD0,L,DRAWNULL),CIRCLEDOT,COLORCYAN;
 GQ:=L>REF(H,1) AND DAY!=REF(DAY,1);
 DQ:=H<REF(L,1) AND DAY!=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>FDZH AND FG0;
 FD1:=FDL<FGZL AND FD0;
 FG:=FG1 AND FGH>FDH AND FGL>FDL AND FGL1>FDL;
 FD:=FD1 AND FDL<FGL AND FDH<FGH AND FDH1<FGH;
 BH0:=(H<=REF(H,1) AND L>=REF(L,1)) OR (H>=REF(H,1) AND L<=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:=(FG AND BARSLAST(FD)>BK);
 D1X:=(FD AND BARSLAST(FG)>BK);
 G1:=(FG0 AND REF(H,BARSLAST(FG0))>=REF(H,BARSLAST(G1X)) AND BARSLAST(D1X)>BARSLAST(G1X))
 OR (FG1 AND COUNT(GQ,BARSLAST(FD1))>0 AND REF(H,BARSLAST(FG1))>REF(H,BARSLAST(G1X)));
 D1:=(FD0 AND REF(L,BARSLAST(FD0))<=REF(L,BARSLAST(D1X)) AND BARSLAST(G1X)>BARSLAST(D1X))
 OR (FD1 AND COUNT(DQ,BARSLAST(FG1))>0 AND REF(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:=G1 AND H=HHV(G1H,BARSLAST(D1)+1) AND H>REF(H,1) AND BARSLAST(D1)>BARSLAST(G1);
 D2:=D1 AND L=LLV(D1L,BARSLAST(G1)+1) AND L<REF(L,1) AND BARSLAST(G1)>BARSLAST(D1);
 G3:=G2 OR (FG0 AND REF(H,BARSLAST(FG0))>REF(H,BARSLAST(G2)) AND BARSLAST(D2)>BARSLAST(G2));
 D3:=D2 OR (FD0 AND REF(L,BARSLAST(FD0))<REF(L,BARSLAST(D2)) AND BARSLAST(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),COLOR00FFFF;L2:DRAWLINE(NN,H,UU, L,0),COLORFFFFFF;
 {标示端点数值}
 {DRAWNUMBER(L1 AND L2 AND NN ,H,H),COLORLIRED;DRAWNUMBER(L1 AND L2 AND UU ,L,L),COLORLIMAGENTA;};


股票公式栏目导航

精品指标推荐

最新热门

本类随机推荐

相关公式