自动画笔,hx源码分享(通达信公式 主图 源码 测试图)
通达信免费指标
09-09
阅读:673
评论:0
{公式名称: 自动画笔
参数1: 老笔, 最小: 0, 最大: 1, 缺省: 0
画线方法: 主图叠加}
G:=MA(CLOSE,5);
D:=MA(CLOSE,10);
HH:=REF(HIGH,5)=HHV(HIGH,11);
LL:=REF(LOW,5)=LLV(LOW,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 HIGH=HHV(HIGH,BARSLAST(FD02));
FD0:=FD02 AND LOW=LLV(LOW,BARSLAST(FG02));
GP:IF(FG0,HIGH,DRAWNULL),CIRCLEDOT,COLORCYAN;
DP:IF(FD0,LOW,DRAWNULL),CIRCLEDOT,COLORCYAN;
GQ:=LOW>REF(HIGH,1) AND DAY!=REF(DAY,1);
DQ:=HIGH<REF(LOW,1) AND DAY!=REF(DAY,1);
GQL:=REF(LOW,BARSLAST(GQ));
DQH:=REF(HIGH,BARSLAST(DQ));
FGH:=REF(HIGH,BARSLAST(FG0));
FGL:=REF(LOW,BARSLAST(FG0));
FGH1:=REF(HIGH,BARSLAST(FG0)+1);
FGL1:=REF(LOW,BARSLAST(FG0)+1);
FGH2:=REF(HIGH,BARSLAST(FG0)+2);
FGL2:=REF(LOW,BARSLAST(FG0)+2);
FDH:=REF(HIGH,BARSLAST(FD0));
FDL:=REF(LOW,BARSLAST(FD0));
FDH1:=REF(HIGH,BARSLAST(FD0)+1);
FDL1:=REF(LOW,BARSLAST(FD0)+1);
FDH2:=REF(HIGH,BARSLAST(FD0)+2);
FDL2:=REF(LOW,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:=HIGH<=REF(HIGH,1) AND LOW>=REF(LOW,1) OR (HIGH>=REF(HIGH,1) AND LOW<=REF(LOW,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(HIGH,BARSLAST(FG0))>=REF(HIGH,BARSLAST(G1X)) AND BARSLAST(D1X)>BARSLAST(G1X) OR (FG1 AND COUNT(GQ,BARSLAST(FD1))>0 AND REF(HIGH,BARSLAST(FG1))>REF(HIGH,BARSLAST(G1X)));
D1:=FD0 AND REF(LOW,BARSLAST(FD0))<=REF(LOW,BARSLAST(D1X)) AND BARSLAST(G1X)>BARSLAST(D1X) OR (FD1 AND COUNT(DQ,BARSLAST(FG1))>0 AND REF(LOW,BARSLAST(FD1))<REF(HIGH,BARSLAST(D1X)));
G1H:=IF(BARSLAST(D1)>BARSLAST(G1),REF(HIGH,BARSLAST(G1)),REF(HIGH,BARSLAST(D1)));
D1L:=IF(BARSLAST(G1)>BARSLAST(D1),REF(LOW,BARSLAST(D1)),REF(LOW,BARSLAST(G1)));
G2:=G1 AND HIGH=HHV(G1H,BARSLAST(D1)+1) AND HIGH>REF(HIGH,1) AND BARSLAST(D1)>BARSLAST(G1);
D2:=D1 AND LOW=LLV(D1L,BARSLAST(G1)+1) AND LOW<REF(LOW,1) AND BARSLAST(G1)>BARSLAST(D1);
G3:=G2 OR (FG0 AND REF(HIGH,BARSLAST(FG0))>REF(HIGH,BARSLAST(G2)) AND BARSLAST(D2)>BARSLAST(G2));
D3:=D2 OR (FD0 AND REF(LOW,BARSLAST(FD0))<REF(LOW,BARSLAST(D2)) AND BARSLAST(G2)>BARSLAST(D2));
GPB:IF(G1X,HIGH,DRAWNULL),CIRCLEDOT,COLORYELLOW;
DPB:IF(D1X,LOW,DRAWNULL),CIRCLEDOT,COLORYELLOW;
NN:=G3;
UU:=D3;
L1:DRAWLINE(UU,LOW,NN,HIGH,0),COLORLIGREEN;
L2:DRAWLINE(NN,HIGH,UU,LOW,0),COLORLIGREEN;
版权声明
本文版权归掌上指标所有。
未经许可,不得转载,转载请注明出处!