老师,帮忙改一下 (文华财经WH6赢顺V6.7)

投资者咨询:老师,帮忙改一下 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-8-4 22:51
 N:=10;
DIFF : =EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  := EMA(DIFF,9);
MACD:= 2*(DIFF-DEA),COLORSTICK;
AAA:=SUM(MACD,BARSLAST(CROSS(MACD,0))+1);
CCC:=REF(SUM(MACD,BARSLAST(CROSS(MACD,0))+1),BARSLAST(CROSSDOWN(MACD,0))+1);
BBB:=SUM(MACD,BARSLAST(CROSSDOWN(MACD,0))+1);
DDD:=REF(SUM(MACD,BARSLAST(CROSSDOWN(MACD,0))+1),BARSLAST(CROSS(MACD,0))+1);
HA:=HHV(H,BARSLAST(CROSS(MACD,0))+1),NODRAW;
HC:=REF(HA,BARSLAST(CROSSDOWN(MACD,0))),NODRAW;

LB:=LLV(L,BARSLAST(CROSSDOWN(MACD,0))+1),NODRAW;
LP:=REF(LB,BARSLAST(CROSS(MACD,0)));
LD:=REF(LLV(L,REF(BARSLAST(CROSSDOWN(MACD,0)),1)+1),BARSLAST(CROSSDOWN(MACD,0))),NODRAW;
LX:=REF(HHV(H,REF(BARSLAST(CROSS(MACD,0)),1)+1),BARSLAST(CROSS(MACD,0))),NODRAW;
AA:=IF(MACD>=0,AAA,NULL),NODRAW;
BB:=IF(MACD<=0,BBB,NULL),NODRAW;//
CC:=IF(MACD>=0,CCC,NULL),NODRAW;
DD:=IF(MACD<=0,DDD,NULL),NODRAW;//
第3条:=AA>CC&&HA>HC&&HA=HHV(H,N);
F4:=BB<DD&&LB<LP&&LB=LLV(L,N);
COND:=第3条&&ISUP;
CONDX:=F4&&ISDOWN;
COND1:=H>=REF(LD,BARSLAST(COND))&&L<=REF(LD,BARSLAST(COND));
N1:=VALUEWHEN(COND1,BARSLAST(COND));
COND2:=COND1&&COUNT(COND1,N1)=1;
//DRAWLINE3(COND2,REF(LD,BARSLAST(COND)),N1,COND2,REF(LD,BARSLAST(COND)),0,0);
DRAWSL1(ISLASTBAR&&BARSLAST(COND)<BARSLAST(CONDX),REF(C,BARSLAST(COND)),0,BARSLAST(COND)+1,1),COLORRED,LINETHICK4;
DRAWSL1(ISLASTBAR&&BARSLAST(CONDX)<BARSLAST(COND),REF(C,BARSLAST(CONDX)),0,BARSLAST(CONDX)+1,1),COLORCYAN,LINETHICK4; 
高:=HHV(H,75);
低:=LLV(L,75);
H3:=高-(高-低)*0.5;
DRAWNUMBER(ISLASTBAR&&BARSLAST(COND)<BARSLAST(CONDX),H3,C,2,COLORRED),ALIGN0,FONTSIZE50;
DRAWNUMBER(ISLASTBAR&&BARSLAST(COND)>BARSLAST(CONDX),H3,C,2,COLORCYAN),ALIGN0,FONTSIZE50;

 N:=33;
UR:=6;
LR:=6;
TC1:=IF(H=HHV(H,8*UR),H,NULL);
TC2:=REFX1(BARSLAST(TC1=H),10000)+1;
UPPER:=REFX1(IF(TC2=1,H,REF(H,TC2-1)),10000);
BC1:=IF(L=LLV(L,8*LR),L,NULL);
BC2:=REFX1(BARSLAST(BC1=L),10000)+1;
LOWER:=REFX1(IF(BC2=1,L,REF(L,BC2-1)),10000);
CURRBARSCOUNT:=DATACOUNT-BARPOS+1;
LP:=CURRBARSCOUNT<=BC2 AND L=LOWER;
HP:=CURRBARSCOUNT<=TC2 AND H=UPPER;
STICKLINE1(IF(BC2>TC2,HP,LP),LOWER,UPPER,2,0),COLORRED;
STICKLINE1(IF(BC2>TC2,LP,HP),LOWER,UPPER,2,0),COLORCYAN;

 
合并一个指标,有两条重复定义,删除误差太大
技术人员回复
日期:2018-8-5 8:21

参考

 

//N:=10;
DIFF : =EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  := EMA(DIFF,9);
MACD:= 2*(DIFF-DEA),COLORSTICK;
AAA:=SUM(MACD,BARSLAST(CROSS(MACD,0))+1);
CCC:=REF(SUM(MACD,BARSLAST(CROSS(MACD,0))+1),BARSLAST(CROSSDOWN(MACD,0))+1);
BBB:=SUM(MACD,BARSLAST(CROSSDOWN(MACD,0))+1);
DDD:=REF(SUM(MACD,BARSLAST(CROSSDOWN(MACD,0))+1),BARSLAST(CROSS(MACD,0))+1);
HA:=HHV(H,BARSLAST(CROSS(MACD,0))+1),NODRAW;
HC:=REF(HA,BARSLAST(CROSSDOWN(MACD,0))),NODRAW;


LB:=LLV(L,BARSLAST(CROSSDOWN(MACD,0))+1),NODRAW;
LP1:=REF(LB,BARSLAST(CROSS(MACD,0)));
LD:=REF(LLV(L,REF(BARSLAST(CROSSDOWN(MACD,0)),1)+1),BARSLAST(CROSSDOWN(MACD,0))),NODRAW;
LX:=REF(HHV(H,REF(BARSLAST(CROSS(MACD,0)),1)+1),BARSLAST(CROSS(MACD,0))),NODRAW;
AA:=IF(MACD>=0,AAA,NULL),NODRAW;
BB:=IF(MACD<=0,BBB,NULL),NODRAW;//
CC:=IF(MACD>=0,CCC,NULL),NODRAW;
DD:=IF(MACD<=0,DDD,NULL),NODRAW;//
第3条:=AA>CC&&HA>HC&&HA=HHV(H,10);
F4:=BB<DD&&LB<LP1&&LB=LLV(L,10);
COND:=第3条&&ISUP;
CONDX:=F4&&ISDOWN;
COND1:=H>=REF(LD,BARSLAST(COND))&&L<=REF(LD,BARSLAST(COND));
N1:=VALUEWHEN(COND1,BARSLAST(COND));
COND2:=COND1&&COUNT(COND1,N1)=1;
//DRAWLINE3(COND2,REF(LD,BARSLAST(COND)),N1,COND2,REF(LD,BARSLAST(COND)),0,0);
DRAWSL1(ISLASTBAR&&BARSLAST(COND)<BARSLAST(CONDX),REF(C,BARSLAST(COND)),0,BARSLAST(COND)+1,1),COLORRED,LINETHICK4;
DRAWSL1(ISLASTBAR&&BARSLAST(CONDX)<BARSLAST(COND),REF(C,BARSLAST(CONDX)),0,BARSLAST(CONDX)+1,1),COLORCYAN,LINETHICK4;
高:=HHV(H,75);
低:=LLV(L,75);
H3:=高-(高-低)*0.5;
DRAWNUMBER(ISLASTBAR&&BARSLAST(COND)<BARSLAST(CONDX),H3,C,2,COLORRED),ALIGN0,FONTSIZE50;
DRAWNUMBER(ISLASTBAR&&BARSLAST(COND)>BARSLAST(CONDX),H3,C,2,COLORCYAN),ALIGN0,FONTSIZE50;


//N:=33;
UR:=6;
LR:=6;
TC1:=IF(H=HHV(H,8*UR),H,NULL);
TC2:=REFX1(BARSLAST(TC1=H),10000)+1;
UPPER:=REFX1(IF(TC2=1,H,REF(H,TC2-1)),10000);
BC1:=IF(L=LLV(L,8*LR),L,NULL);
BC2:=REFX1(BARSLAST(BC1=L),10000)+1;
LOWER:=REFX1(IF(BC2=1,L,REF(L,BC2-1)),10000);
CURRBARSCOUNT:=DATACOUNT-BARPOS+1;
LP:=CURRBARSCOUNT<=BC2 AND L=LOWER;
HP:=CURRBARSCOUNT<=TC2 AND H=UPPER;
STICKLINE1(IF(BC2>TC2,HP,LP),LOWER,UPPER,2,0),COLORRED;
STICKLINE1(IF(BC2>TC2,LP,HP),LOWER,UPPER,2,0),COLORCYAN;