DIFF := EMA(CLOSE,12) - EMA(CLOSE,26),RGB(255,255,255);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
DEA1:EMA(DEA,0);

//面积
JC5:=CROSS(DIFF,DEA),NODRAW;
SC5:=CROSSDOWN(DIFF,DEA),NODRAW;
金叉面积:REFX(SC5,1)||ISLASTBAR&&MACD>0,NODRAW;//
死叉面积:REFX(JC5,1)||ISLASTBAR&&MACD<0,NODRAW;//
N111:=BARSLAST(JC5)+1,NODRAW;
N222:=BARSLAST(SC5)+1,NODRAW;
TJ:=BACKSET(ISLASTBAR,SUMBARS(REFX(SC5,1)||ISLASTBAR&&MACD>0,5)+2);

//MACD面积背离
J:=CROSS(DIFF,DEA);
S:=CROSSDOWN(DIFF,DEA);
DRAWTEXT(TJ&&S&&SUM(DIFF,BARSLAST(J)+1)<REF(SUM(DIFF,BARSLAST(J)+1),SUMBARS(S,2)),H,'背'),COLORGREEN,FONTSIZE22;
DRAWTEXT(TJ&&J&&SUM(ABS(DIFF),BARSLAST(S)+1)<REF(SUM(ABS(DIFF),BARSLAST(S)+1),SUMBARS(J,2)), L,'背'),RGB(255,0,0),FONTSIZE22;


//ZQ:=PERIOD<=6||(PERIOD>=16&&PERIOD<=21);
// 增加MACD值过滤条件
X1:=BARSLAST(CROSS(DIFF,DEA) AND MACD>0)+1;
// 金叉且MACD>0
X2:=BARSLAST(CROSSDOWN(DIFF,DEA) AND MACD<0)+1;
// 死叉且MACD<0

DRAWLINE3(TJ&&X1=1,LLV(L,X2),LLVBARS(L,X2),
 X2=1||ISLASTBAR,HHV(H,X1),HHVBARS(H,X1),0),RGB(222,0,222),LINETHICK1;//连线
DRAWLINE3(TJ&&X2=1,HHV(H,X1),HHVBARS(H,X1),
 X1=1||ISLASTBAR,LLV(L,X2),LLVBARS(L,X2),0),RGB(0,222,0),LINETHICK1;//连线

// 增加MACD值过滤后的标记逻辑
T1:=BACKSET(X1=1||ISLASTBAR&&MACD<0&&CROSS(DIFF,DEA),LLVBARS(L,X2)+1),LINETHICK2;
T2:=BACKSET(X2=1||ISLASTBAR&&MACD>0&&CROSSDOWN(DIFF,DEA),HHVBARS(H,X1)+1),COLORRED,LINETHICK2;

ZX:(T1+T2)/2,COLORRED,LINETHICK2;


DRAWTEXT(TJ&&BARSLASTCOUNT(T1)=1,L,'低'),VALIGN0,RGB(0,255,0),FONTSIZE12,LINETHICK2;// 低
DRAWTEXT(TJ&&BARSLASTCOUNT(T2)=1,H,'高'),RGB(255,255,0),FONTSIZE12,LINETHICK2;// 高

DRAWHORIZONTALLINE(TJ&&BARSLASTCOUNT(T1)=1,L,RGB(0,111,155)),LINETHICK2;//水平线
DRAWHORIZONTALLINE(TJ&&BARSLASTCOUNT(T2)=1,H,RGB(155,0,0)),LINETHICK2;//水平线

SN1:=BARSLAST(T1)+1;
SN2:=BARSLAST(T2)+1;
DRAWLINE3(ISLASTBAR&&MIN(SN1,SN2)=SN2&&L>REF(L,SN2-1),REF(L,SN2-1),SN2-1,ISLASTBAR,H,0,0),COLORRED,LINETHICK2;//红色↗↗【未走完反弹一笔】
DRAWLINE3(ISLASTBAR&&MIN(SN1,SN2)=SN1&&H<REF(H,SN1-1),REF(H,SN1-1),SN1-1,ISLASTBAR,L,0,0),COLORCYAN,LINETHICK2;//绿色↘↘【未走完回调一笔】





//缠论画线
M:=15;//M值需要大于等于5
G2:=MA(C,5);
D111:=MA(C,10);
NNHA:=BARSLAST(H=HHV(H,M)),NODRAW;
NNLA:=BARSLAST(L=LLV(L,M)),NODRAW;
NNA:=IF(REF(G2,NNHA)>REF(D111,NNHA) AND NNHA<=M-3,NNHA,IF(REF(G2,NNLA)<REF(D111,NNLA) AND NNLA<=M-3,NNLA,M-2)),NODRAW;
NNNA:=IF(ISLASTBAR AND NNA>0,NNA,M-2) ,NODRAW;
H1A:=REF(H,NNNA)=HHV(H,M-1);
L1A:=REF(L,NNNA)=LLV(L,M-1);
FG01A:=CROSS(BACKSET(H1A,NNNA+1)=1,0.5),NODRAW;//只设置前面第M-1个
FD01A:=CROSS(BACKSET(L1A,NNNA+1)=1,0.5) ,NODRAW;
FG02A:=FG01A=FD01A AND G2>D111,NODRAW;
FD02A:=FG01A=FD01A AND G2<D111,NODRAW;
TTTTA:=BARSLAST(FD01A),NODRAW;
FG0A:=FG01A AND IF(FG02A=1,H=HHV(H,BARSLAST(REF(FD01A,1))+1),H=HHV(H,IF(BARSLAST(L=LLV(L,M))>=M-2,M-2,BARSLAST(FD01A)))) AND FD02A=0 ,NODRAW;
FD0A:=FD01A AND IF(FD02A=1,L=LLV(L,BARSLAST(REF(FG01A,1))+1),L=LLV(L,IF(BARSLAST(H=HHV(L,M))>=M-2,M-2,BARSLAST(FG01A))))  AND FG02A=0 ,NODRAW;
//高低点间周期
GTA:=BARSLAST(FG0A),NODRAW;
DTA:=BARSLAST(FD0A),NODRAW;
//第一次处理高低点间多余的点
LLLLA:=DTA=0 AND REF(DTA,1)<GTA AND L>REF(L,REF(DTA,1)+1),NODRAW;
FG1A:=BACKSET(REFX(GTA,1)=0 AND GTA<DTA AND REFX(H,1)>=REF(H,GTA),GTA+1),NODRAW;
FD1A:=BACKSET(REFX(DTA,1)=0 AND DTA<GTA AND REFX(L,1)<=REF(L,DTA),DTA+1),NODRAW;
FG11A:=IF(GTA=0 AND REF(GTA,1)<DTA AND IF(REF(G2,BARSLAST(L=LLV(L,M)))>REF(D111,BARSLAST(L=LLV(L,M))),BARSLAST(L=LLV(L,M))<M-2,1) AND  H<REF(H,REF(GTA,1)+1),1,0),NODRAW;
FD11A:=IF(DTA=0 AND REF(DTA,1)<GTA AND IF(REF(G2,BARSLAST(H=HHV(H,M)))<REF(D111,BARSLAST(H=HHV(H,M))),BARSLAST(H=HHV(H,M))<M-2,1) AND L>REF(L,REF(DTA,1)+1),1,0),NODRAW;
//再次周期
GT1A:=BARSLAST(FG11A<>1 AND FG1A<>1 AND FG0A),NODRAW;
DT1A:=BARSLAST(FD11A<>1 AND FD1A<>1 AND FD0A),NODRAW;
SFD2A:=BACKSET(REFX(GT1A,1)=0 AND DT1A<3 AND GT1A-DT1A<4 AND REF(L,DT1A)>LLV(L,GT1A+M-2),DT1A+1),NODRAW;
FG2AA:=BACKSET(REFX(GT1A,1)=0 AND DT1A<3 AND GT1A-DT1A<4 AND REF(L,DT1A)<=LLV(L,GT1A+M-2) AND REF(H,GT1A)>HHV(H,GT1A+M-2),GT1A+1),NODRAW;
FG2BA:=IF(GT1A=0 AND DT1A<4 AND REF(GT1A,1)-DT1A<4 AND REF(L,DT1A)<=LLV(L,REF(GT1A,1)+M-1) AND H>HHV(H,REF(GT1A,1)+M-1),1,0),NODRAW;
FG2C:=BACKSET(REFX(DT1A,1)=0 AND GT1A<3 AND DT1A-GT1A<4 AND REF(H,GT1A)<HHV(H,DT1A+M-2),GT1A+1),NODRAW;
FD2AA:=BACKSET(REFX(DT1A,1)=0 AND GT1A<3 AND DT1A-GT1A<4 AND REF(H,GT1A)>=HHV(L,DT1A+M-2) AND REF(L,DT1A)>LLV(L,DT1A+M-2),DT1A+1),NODRAW;
FD2BA:=IF(DT1A=0 AND GT1A<4 AND REF(DT1A,1)-GT1A<4 AND REF(H,GT1A)>=HHV(H,REF(DT1A,1)+6) AND L>LLV(L,REF(DT1A,1)+M-1),1,0),NODRAW;
TTTTTTA:= H<REF(H,REF(GT1A,1)+1) AND DT1A<4,NODRAW;
HHHHHHA:=REF(LLV(L,10),DT1A),NODRAW;
//前长后短;
FG21A:=IF(GT1A=0 AND DT1A<4 AND H<=REF(H,REF(GT1A,1)+1),1,0),NODRAW;
FD21A:=IF(DT1A=0 AND GT1A<4 AND L>=REF(L,REF(DT1A,1)+1),1,0),NODRAW;
//前短后长,前低后高(去低);
FD231A:=BACKSET(REFX(GT1A,1)=0 AND DT1A>3 AND GT1A>DT1A AND GT1A-DT1A<4 AND REFX(H,1)>REF(H,GT1A) AND REF(L,DT1A)>REF(LLV(L,10),DT1A),DT1A+1),NODRAW;
FG23A:=BACKSET(REFX(GT1A,1)=0 AND DT1A>3 AND GT1A>DT1A AND GT1A-DT1A<4 AND REFX(H,1)>REF(H,GT1A) AND (REF(H,GT1A)<REF(HHV(H,13),GT1A) OR REF(FD231A,DT1A)=0),GT1A+1),NODRAW;
//前短后长,去2;
FG231A:=BACKSET(REFX(DT1A,1)=0 AND GT1A>3 AND DT1A>GT1A AND DT1A-GT1A<4 AND REFX(L,1)<REF(L,DT1A) AND REF(H,GT1A)<REF(HHV(H,10),GT1A),GT1A+1),NODRAW;
FD23A:=BACKSET(REFX(DT1A,1)=0 AND GT1A>3 AND DT1A>GT1A AND DT1A-GT1A<4 AND REFX(L,1)<REF(L,DT1A) AND ( REF(L,DT1A)>REF(LLV(L,13),DT1A) OR REF(FG231A,GT1A)=0),DT1A+1),NODRAW;
//前短后长,去3;
FDD23A:=REF(H,GT1A)<REF(HHV(H,10),GT1A) OR REF(FD23A,DT1A)=0,NODRAW;
FD24A:=BACKSET(REFX(GT1A,1)=0 AND DT1A>3 AND GT1A>DT1A AND GT1A-DT1A<4 AND REFX(H,1)<HHV(H,GT1A+3) AND REF(L,DT1A)>LLV(L,DT1A+5),DT1A+1),NODRAW;
FG24A:=BACKSET(REFX(DT1A,1)=0 AND GT1A>3 AND DT1A>GT1A AND DT1A-GT1A<4 AND REFX(L,1)>LLV(L,DT1A+3) AND REF(H,GT1A)<HHV(H,GT1A+5),GT1A+1),NODRAW;
//做两次高低点间多余的点
GT2A:=BARSLAST(FG21A<>1 AND FG23A<>1 AND FG231A<>1 AND FG24A<>1 AND FG2AA<>1 AND FG2AA<>1 AND FG2BA<>1 AND GT1A=0),NODRAW;
DT2A:=BARSLAST(FD21A<>1 AND FD23A<>1 AND FD231A<>1 AND FD24A<>1 AND FD2AA<>1 AND FD2AA<>1 AND FD2BA<>1 AND DT1A=0),NODRAW;
FG3A:=BACKSET(REFX(GT2A,1)=0 AND GT2A<DT2A AND REFX(H,1)>=REF(H,GT2A),GT2A+1),NODRAW;
FD3A:=BACKSET(REFX(DT2A,1)=0 AND DT2A<GT2A AND REFX(L,1)<=REF(L,DT2A),DT2A+1),NODRAW;
FG31A:=IF(GT2A=0 AND REF(GT2A,1)<DT2A AND H<REF(H,REF(GT2A,1)+1),1,0),NODRAW;
FD31A:=IF(DT2A=0 AND REF(DT2A,1)<GT2A AND L>REF(L,REF(DT2A,1)+1),1,0),NODRAW;
GT3A:=BARSLAST(GT2A=0 AND FG3A<>1 AND FG31A<>1),NODRAW;
DT3A:=BARSLAST(DT2A=0 AND FD3A<>1 AND FD31A<>1),NODRAW;
FG4A:=BACKSET(REFX(GT3A,1)=0 AND GT3A<DT3A AND REFX(H,1)>=REF(H,GT3A),GT3A+1),NODRAW;
FD4A:=BACKSET(REFX(DT3A,1)=0 AND DT3A<GT3A AND REFX(L,1)<=REF(L,DT3A),DT3A+1),NODRAW;
FG41A:=IF(GT3A=0 AND REF(GT3A,1)<DT3A AND H<REF(H,REF(GT3A,1)+1),1,0),NODRAW;
FD41A:=IF(DT3A=0 AND REF(DT3A,1)<GT3A AND L>REF(L,REF(DT3A,1)+1),1,0),NODRAW;
HHHA:=GT3A=0 AND FG31A<>1 AND FG3A<>1,PRECIS0,NODRAW;
LLLA:=DT3A=0 AND FD31A<>1 AND FD3A<>1,PRECIS0,NODRAW;

TT:=BACKSET(ISLASTBAR,SUMBARS(CROSS(HHHA,LLLA),5)+1);

DRAWLINE1(TT&&LLLA,L,HHHA,H,0),RGB(200,200,0),LINETHICK1;//红色↗↗↗
DRAWLINE1(TT&&HHHA,H,LLLA,L,0),RGB(0,77,255),LINETHICK1;//绿色↘↘↘
DRAWTEXT(CROSS(TT&&HHHA,LLLA)&&NOT(CROSS(TT&&HHHA,LLLA)&&H<REF(H,SUMBARS(CROSS(TT&&HHHA,LLLA),2))),H,'顶'),ALIGN1,VALIGN2,RGB(0,255,0),FONTSIZE22;
DRAWTEXT(CROSS(TT&&LLLA,HHHA)&&NOT(CROSS(TT&&LLLA,HHHA)&&L>REF(L,SUMBARS(CROSS(TT&&LLLA,HHHA),2))),L,'底'),ALIGN1,VALIGN0,RGB(255,111,255),FONTSIZE22;

//高.低.顶.底  
DRAWTEXT(CROSS(TT&&HHHA,LLLA)&&H<REF(H,SUMBARS(CROSS(TT&&HHHA,LLLA),2)),H,'顶空'),ALIGN1,VALIGN2,RGB(0,255,0),FONTSIZE22;//最近顶<上次顶,H,'顶空')
DRAWTEXT(CROSS(TT&&LLLA,HHHA)&&L>REF(L,SUMBARS(CROSS(TT&&LLLA,HHHA),2)),L,'底多'),ALIGN1,VALIGN2,RGB(255,0,0),FONTSIZE22;//最近底>上次底,H,'底多')
DRAWTEXT(TJ&&BARSLASTCOUNT(T1)=1&&L>REF(L,SUMBARS(TJ&&BARSLASTCOUNT(T1)=1,2)),L,'低'),ALIGN1,VALIGN2,RGB(0,255,0),FONTSIZE22;//最近高<上次高,H,'高空')
DRAWTEXT(TJ&&BARSLASTCOUNT(T2)=1&&H<REF(H,SUMBARS(TJ&&BARSLASTCOUNT(T2)=1,2)),H,'高'),ALIGN1,VALIGN2,RGB(255,0,0),FONTSIZE22;//最近低>上次低,H,'低多')

作者 admin

九稳量化交易系统 是一套高胜率策略趋势跟踪系统,系统最大优势就是开仓位置精确,信号不漂移 不延迟 同步行情信号 拒绝马后面!www.gao998.cn 微信 fxfx668998

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注