


全部完整指标代码
==============================
MA3:=MA(C,170);
HH1:=IFELSE(H<REF(H,1)&&REF(H,1)<REF(H,2),REF(H,2),0);
LL1:=IFELSE(L>REF(L,1)&&REF(L,1)>REF(L,2),REF(L,2),0);
HH2:=VALUEWHEN(HH1>0,HH1);
LL2:=VALUEWHEN(LL1>0,LL1);
HH:=HHV(HIGH,1)/10+HHV(HIGH,2)/10+HHV(HIGH,2)/10+HHV(HIGH,4)/10+HHV(HIGH,4)/10+HHV(HIGH,8)/10+HHV(HIGH,8)/10+HHV(HIGH,13)/10+HHV(HIGH,40)/10+HHV(HIGH,20)/10;
LL:=LLV(LOW,1)/10+LLV(LOW,2)/10+LLV(LOW,2)/10+LLV(LOW,4)/10+LLV(LOW,4)/10+LLV(LOW,8)/10+LLV(LOW,8)/10+LLV(LOW,13)/10+LLV(LOW,40)/10+LLV(LOW,20)/10;
H1:=IFELSE(HH<REF(HH,1)&&LL<REF(LL,1)&&REF(OPEN,1)>CLOSE&&OPEN>CLOSE&&(HHV(OPEN,0)-CLOSE)>0,REF(HH,2),0);
L1:=IFELSE(LL>REF(LL,1)&&HH>REF(HH,1)&&REF(OPEN,1)<CLOSE&&OPEN<CLOSE&&(CLOSE-LLV(OPEN,0))>0,REF(LL,2),0);
X0:=H1,LINETHICK2;
X00:=L1;
XXX0:=O,LINETHICK2;
XXX00:=C;
XXX000:=H;
XXX0000:=L;
H2:=VALUEWHEN(X0>0,X0),LINETHICK2;
L2:=VALUEWHEN(X00>0,X00),LINETHICK2;
K1:=IFELSE(CLOSE>H2,-3,IFELSE(CLOSE<L2,1,0));
K2:=VALUEWHEN(K1<>0,K1);
G:=IFELSE(K2=1,H2,L2);
X000:=K2,LINETHICK2;
TMP:=K2,LINETHICK2;
W1:=X000,LINETHICK2;
X0000:=OPEN-CLOSE,LINETHICK2;
W2:=X0000,LINETHICK2;
HT:=IFELSE(OPEN>CLOSE,OPEN,CLOSE),LINETHICK2;
LT:=IFELSE(OPEN<CLOSE,OPEN,CLOSE),LINETHICK2;
STICKLINE1(W1=1,XXX000,HT,0,0),COLORCYAN;//青色上影线
STICKLINE1(W1=1,XXX0000,LT,0,0),COLORCYAN;//青色下影线
STICKLINE1(W1=-3,XXX000,HT,0,0),COLORRED;//红色上影线
STICKLINE1(W1=-3,XXX0000,LT,0,0),COLORRED;//红色下影线
STICKLINE(W1>0,XXX0,XXX00,COLORCYAN,1);//青色空心K线
STICKLINE(W1<=0,XXX0,XXX00,COLORRED,1);//红色空心K线
STICKLINE(W2>0&&W1<=0,XXX0,XXX00,COLORRED,0);//红色实心K线
STICKLINE(W2>0&&W1>0,XXX0,XXX00,COLORCYAN,0);//青色实心K线
DRAWLINE(TMP=1&&REF(TMP,1)=1,G,TMP=1&&REF(TMP,1)=1,REF(G,1),COLORCYAN),DOT;//青色折竖线
DRAWLINE(TMP=-3&&REF(TMP,1)=-3,G,TMP=-3&&REF(TMP,1)=-3,REF(G,1),COLORRED),DOT;//红色折竖线
DRAWSL(K2=1,G,0,1,0,COLORCYAN),DOT;//青色折横线
DRAWSL(K2=-3,G,0,1,0,COLORRED),DOT;//红色折横线
DRAWTEXT(CROSS(TMP,0),HH,'空'),COLORGREEN,FONTSIZE30;
DRAWTEXT(CROSS(0,TMP),LL,'多'),FONTSIZE30,VALIGN0;
DRAWTEXT(CROSSDOWN(L,G) AND 0>TMP AND COUNT(CROSSDOWN(L,G) AND 0>TMP,SUMBARS(CROSS(0,TMP),1))=1,L,'开多'),FONTSIZE18,COLORWHITE,VALIGN0;
DRAWTEXT(CROSS(H,G) AND 0<TMP AND COUNT(CROSS(H,G) AND 0<TMP,SUMBARS(CROSSDOWN(0,TMP),1))=1,H,'开空'),FONTSIZE18,COLORWHITE;
N3:=BARSLAST(CROSS(W1>0,0.5)),LINETHICK2;
N4:=BARSLAST(CROSS(W1<=0,0.5)),LINETHICK2;
HH3:=IF(W1<=0,REF(HV(H,N4),N3),NULL),COLORYELLOW,DOT;
LL3:=IF(W1>0,REF(LV(L,N3),N4),NULL),COLORGREEN,DOT;
B:=CROSSUP(C,HH3)||REF(ISNULL(HH3),1)&&C>HH3;
S:=CROSSDOWN(C,LL3)||REF(ISNULL(LL3),1)&&C<LL3;
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
JC:=CROSS(DIFF,DEA);
SC:=CROSSDOWN(DIFF,DEA);
N1:=BARSLAST(JC)+1;
N2:=BARSLAST(SC)+1;
HHX:=VALUEWHEN(CROSSDOWN(DIFF,DEA),HHV(H,N1));//上次MACD红柱期间合约最大值
HH2X:=VALUEWHEN(CROSSDOWN(DIFF,DEA),REF(HHX,1));//上上次MACD红柱期间合约最大值
MHD:=VALUEWHEN(CROSSDOWN(DIFF,DEA),HHV(MACD,N1));//上次MACD红柱期间MACD最大值
MHD2:=VALUEWHEN(CROSSDOWN(DIFF,DEA),REF(MHD,1));//上上次MACD红柱期间MACD最大值
LLX:=VALUEWHEN(CROSS(DIFF,DEA),LLV(L,N2));//上次MACD绿柱期间合约最小值
LL2X:=VALUEWHEN(CROSS(DIFF,DEA),REF(LLX,1));//上上次MACD绿柱期间合约最小值
MLD:=VALUEWHEN(CROSS(DIFF,DEA),LLV(MACD,N2));//上次MACD绿柱期间MACD最小值
MLD2:=VALUEWHEN(CROSS(DIFF,DEA),REF(MLD,1));//上上次MACD绿柱期间MACD最小值
A:=CROSSDOWN(DIFF,DEA)&&HHX>HH2X&&MHD<MHD2;//顶背离
BX:=CROSS(DIFF,DEA)&&LLX<LL2X&&MLD>MLD2;//底背离
DRAWTEXT(A,H+30*MINPRICE,' '),COLORRED,FONTSIZE24;
DRAWTEXT(A,H,' '),COLORRED,FONTSIZE24;
DRAWTEXT(BX,L-30*MINPRICE,' '),COLORGREEN,VALIGN0,FONTSIZE24;
DRAWTEXT(BX,L,' '),COLORGREEN,VALIGN0,FONTSIZE24;
DRAWTEXT(BARSLASTCOUNT(TMP<0&&CLOSE>EMA2(HIGH,150))=1,H,' ');
DRAWTEXT(BARSLASTCOUNT(TMP>0&&CLOSE<EMA2(LOW,150))=1,H,' ');
DRAWNUMBER(EXIST(NOT(CROSS(0,TMP))&&TMP<0&&C<REF(L,1),BARSLASTCOUNT(TMP<0))=0&&TMP<0,VALUEWHEN(CROSS(EXIST(NOT(CROSS(0,TMP))&&TMP<0&&C<REF(L,1),BARSLASTCOUNT(TMP<0))=0&&TMP<0,0.5),L),BARSLASTCOUNT(EXIST(NOT(CROSS(0,TMP))&&TMP<0&&C<REF(L,1),BARSLASTCOUNT(TMP<0))=0&&TMP<0),0,COLORWHITE),VALIGN0;
DRAWNUMBER(EXIST(NOT(CROSS(TMP,0))&&TMP>0&&C>REF(H,1),BARSLASTCOUNT(TMP>0))=0&&TMP>0,VALUEWHEN(CROSS(EXIST(NOT(CROSS(TMP,0))&&TMP>0&&C>REF(H,1),BARSLASTCOUNT(TMP>0))=0&&TMP>0,0.5),H),BARSLASTCOUNT(EXIST(NOT(CROSS(TMP,0))&&TMP>0&&C>REF(H,1),BARSLASTCOUNT(TMP>0))=0&&TMP>0),0,COLORWHITE),VALIGN2;
DRAWICON(EXIST(NOT(CROSS(0,TMP))&&TMP<0&&C<REF(L,1),BARSLASTCOUNT(TMP<0))=0&&TMP<0,VALUEWHEN(CROSS(EXIST(NOT(CROSS(0,TMP))&&TMP<0&&C<REF(L,1),BARSLASTCOUNT(TMP<0))=0&&TMP<0,0.5),L),4);
DRAWICON(EXIST(NOT(CROSS(TMP,0))&&TMP>0&&C>REF(H,1),BARSLASTCOUNT(TMP>0))=0&&TMP>0,VALUEWHEN(CROSS(EXIST(NOT(CROSS(TMP,0))&&TMP>0&&C>REF(H,1),BARSLASTCOUNT(TMP>0))=0&&TMP>0,0.5),H),5),VALIGN0;
DD:=EXIST(NOT(CROSS(0,TMP))&&TMP<0&&C<REF(L,1),BARSLASTCOUNT(TMP<0))=0&&TMP<0;
KK:=EXIST(NOT(CROSS(TMP,0))&&TMP>0&&C>REF(H,1),BARSLASTCOUNT(TMP>0))=0&&TMP>0;
PP:=NOT(DD||KK);
DRAWNUMBER(BARSLAST( TMP<0&&C>REF(H,1))<BARSLAST(C<REF(L,1))&&PP,VALUEWHEN(BARSLASTCOUNT(BARSLAST( TMP<0&&C>REF(H,1))<BARSLAST(C<REF(L,1))&&PP)=1,L),BARSLASTCOUNT(BARSLAST( TMP<0&&C>REF(H,1))<BARSLAST(C<REF(L,1))&&PP),0,COLORWHITE);
DRAWNUMBER(BARSLAST(TMP>0&&C<REF(L,1))<BARSLAST(C>REF(H,1))&&PP,VALUEWHEN(BARSLASTCOUNT(BARSLAST(TMP>0&&C<REF(L,1))<BARSLAST(C>REF(H,1))&&PP)=1,H),BARSLASTCOUNT(BARSLAST(TMP>0&&C<REF(L,1))<BARSLAST(C>REF(H,1))&&PP),0,COLORWHITE),VALIGN0;
DRAWICON(BARSLAST( TMP<0&&C>REF(H,1))<BARSLAST(C<REF(L,1))&&PP,VALUEWHEN(BARSLASTCOUNT(BARSLAST( TMP<0&&C>REF(H,1))<BARSLAST(C<REF(L,1))&&PP)=1,L),4),VALIGN0;
DRAWICON(BARSLAST(TMP>0&&C<REF(L,1))<BARSLAST(C>REF(H,1))&&PP,VALUEWHEN(BARSLASTCOUNT(BARSLAST(TMP>0&&C<REF(L,1))<BARSLAST(C>REF(H,1))&&PP)=1,H),5);
DRAWNUMBER(CROSSDOWN(DD,0.5)||CROSSDOWN(BARSLAST( TMP<0&&C>REF(H,1))<BARSLAST(C<REF(L,1))&&PP,0.5),VALUEWHEN(BARSLASTCOUNT(BARSLAST( TMP<0&&C>REF(H,1))<BARSLAST(C<REF(L,1))&&PP)=1||CROSS(EXIST(NOT(CROSS(0,TMP))&&TMP<0&&C<REF(L,1),BARSLASTCOUNT(TMP<0))=0&&TMP<0,0.5),L),0,0,COLORWHITE),VALIGN0;
DRAWNUMBER(CROSSDOWN(KK,0.5)||CROSSDOWN(BARSLAST(TMP>0&&C<REF(L,1))<BARSLAST(C>REF(H,1))&&PP,0.5),VALUEWHEN(BARSLASTCOUNT(BARSLAST(TMP>0&&C<REF(L,1))<BARSLAST(C>REF(H,1))&&PP)=1||CROSS(EXIST(NOT(CROSS(TMP,0))&&TMP>0&&C>REF(H,1),BARSLASTCOUNT(TMP>0))=0&&TMP>0,0.5),H),0,0,COLORWHITE);
DX:=BARSLASTCOUNT(BARSLAST( TMP<0&&C>REF(H,1))<BARSLAST(C<REF(L,1))&&PP)=1||BARSLASTCOUNT(EXIST(NOT(CROSS(0,TMP))&&TMP<0&&C<REF(L,1),BARSLASTCOUNT(TMP<0))=0&&TMP<0)=1;
KX:=BARSLASTCOUNT(EXIST(NOT(CROSS(TMP,0))&&TMP>0&&C>REF(H,1),BARSLASTCOUNT(TMP>0))=0&&TMP>0)=1||BARSLASTCOUNT(BARSLAST(TMP>0&&C<REF(L,1))<BARSLAST(C>REF(H,1))&&PP)=1;
D0:=CROSSDOWN(DD,0.5)||CROSSDOWN(BARSLAST( TMP<0&&C>REF(H,1))<BARSLAST(C<REF(L,1))&&PP,0.5);
K0:=CROSSDOWN(KK,0.5)||CROSSDOWN(BARSLAST(TMP>0&&C<REF(L,1))<BARSLAST(C>REF(H,1))&&PP,0.5);
DRAWLINE3(D0||K0,C,0,1,VALUEWHEN(DX||KX,C),BARSLAST(DX||KX),0);
DRAWTEXT(D0&&C>VALUEWHEN(DX,C),H,'盈:'),ALIGN2;
DRAWTEXT(D0&&C<VALUEWHEN(DX,C),H,'亏:'),ALIGN2;
DRAWTEXT(K0&&C>VALUEWHEN(KX,C),L,'亏:'),ALIGN2,VALIGN0;
DRAWTEXT(K0&&C<VALUEWHEN(KX,C),L,'盈:'),ALIGN2,VALIGN0;
DRAWNUMBER(D0,H,ABS(C-VALUEWHEN(DX,C)),1,COLORYELLOW),ALIGN0;
DRAWNUMBER(K0,L,ABS(C-VALUEWHEN(KX,C)),1,COLORYELLOW),ALIGN0,VALIGN0;
DRAWLASTBARLINE(C>REF(L,1)&&K2=-3,REF(L,1),1,1,REF(L,1),-5,0),COLORWHITE;
DRAWLASTBARLINE(C<REF(H,1)&&K2=1,REF(H,1),1,1,REF(H,1),-5,0),COLORWHITE;
DRAWLASTBARLINE(C<REF(L,1)&&K2=-3,REF(H,1),1,1,REF(H,1),-5,0),COLORWHITE;
DRAWLASTBARLINE(C>REF(H,1)&&K2=1,REF(L,1),1,1,REF(L,1),-5,0),COLORWHITE;
DRAWLASTBARNUMBER(IF(C>REF(L,1)&&K2=-3||C>REF(H,1)&&K2=1,REF(L,1),NULL),REF(L,1),1,COLORYELLOW),ALIGN0;
DRAWLASTBARNUMBER(IF(C<REF(L,1)&&K2=-3||C<REF(H,1)&&K2=1,REF(H,1),NULL),REF(H,1),1,COLORYELLOW),ALIGN0;