核实下第4条,是指当前的MACD大于0的区间,至少 有M次MA5与MA10金死叉?
当前MACD大于0的区间 是既与本次DEA上穿0轴的最高价等比,也于上次DEA上穿0轴的比?
您的思路比较复杂,编写需要时间,预计本周三17:00前回复,请耐心等待下
论坛不支持私信及电话等服务的,
编写好在此给您回复,之后进行沉底吧
参考:
N:=1;//参数可自行修改
M:=2;//参数可自行修改
DIFF:EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:EMA(DIFF,9);
MACD:2*(DIFF-DEA),COLORSTICK;
MA5:MA(C,5);
MA10:MA(C,10);
JC:=CROSS(DIFF,DEA); //金叉
SC:=CROSSDOWN(DIFF,DEA);//死叉
JC1:=CROSS(MA5,MA10);
SC1:=CROSSDOWN(MA5,MA10);
N1:=BARSLAST(JC)+1;//金叉到当前距离
N2:=BARSLAST(SC)+1;//死叉到当前距离
N3:=BARSLAST(DIFF>DEA&&CROSS(DEA,0))+1;
TJ2:=SUM(JC1+SC1,REF(N1,N2))>=M;
MJ1:=VALUEWHEN(DIFF>DEA,SUM(MACD,N1));//红柱期间MACD面积
MJ2:=VALUEWHEN(DIFF>DEA&&DEA>0&&N1>N3,SUM(MACD,N3));
MJ11:=VALUEWHEN(TJ2,MJ1);
MJ22:=REF(MJ2,SUMBARS(JC,N+1));
HH1:=VALUEWHEN(SC,REF(HHV(H,N1),1));
HH2:=VALUEWHEN(SC&&N1>N3,HV(H,N3));
HH11:=VALUEWHEN(TJ2,HH1);
HH22:=REF(HH2,SUMBARS(JC,N+1));
MJ11/MJ22,NODRAW;
HH11/HH22,NODRAW;
注释部分给您都标注了,您加载看下效果,
N:=1;//参数可自行修改
M:=2;//参数可自行修改
//MACD指标
DIFF:EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:EMA(DIFF,9);
MACD:2*(DIFF-DEA),COLORSTICK;
MA5:MA(C,5);//5周期均线
MA10:MA(C,10);//10周期均线
JC:=CROSS(DIFF,DEA); //MACD金叉
SC:=CROSSDOWN(DIFF,DEA);//MACD死叉
JC1:=CROSS(MA5,MA10); //5、10均线金叉
SC1:=CROSSDOWN(MA5,MA10);//5、10均线死叉
N1:=BARSLAST(JC)+1;//金叉到当前距离
N2:=BARSLAST(SC)+1;//死叉到当前距离
N3:=BARSLAST(DIFF>DEA&&CROSS(DEA,0))+1;//DEA上穿0轴且MACD大于0位置到当前的周期数
TJ2:=SUM(JC1+SC1,REF(N1,N2))>=M;//MACD大于0的区间,至少有M次MA5与MA10交叉
MJ1:=VALUEWHEN(DIFF>DEA,SUM(MACD,N1));//红柱期间MACD面积
MJ2:=VALUEWHEN(DIFF>DEA&&DEA>0&&N1>N3,SUM(MACD,N3));//DEA上穿0轴且MACD大于0期间MACD面积
MJ11:=VALUEWHEN(TJ2,MJ1);//至少有M次MA5与MA10交叉的MACD大于0区间的红柱面积
MJ22:=REF(MJ2,SUMBARS(JC,N+1));//与DEA上穿0轴那个MACD大于0区间之间相隔至少N个MACD大于0时,DEA上穿0轴区间的面积
HH1:=VALUEWHEN(SC,REF(HHV(H,N1),1));//红柱期间MACD最高价
HH2:=VALUEWHEN(SC&&N1>N3,HV(H,N3));//DEA上穿0轴且MACD大于0期间MACD最高价
HH11:=VALUEWHEN(TJ2,HH1);//至少有M次MA5与MA10交叉的MACD大于0区间的红柱最高价
HH22:=REF(HH2,SUMBARS(JC,N+1));//与DEA上穿0轴那个MACD大于0区间之间相隔至少N个MACD大于0时,DEA上穿0轴区间的最高价
MJ11/MJ22,NODRAW;//满足条件的MACD红柱面积,除以DEA上穿0轴且MACD大于0的红柱面积
HH11/HH22,NODRAW;//满足条件的MACD红柱最高价,除以DEA上穿0轴且MACD大于0的红柱最高价

