求助 这源码 看了N遍了,实在无法得想要的数值。
想取得满足( MACD>0.5 AND VA2 AND VA2!=UU) 条件下 macd 的值。
以及满足( MACD<-0.5 AND VA4 AND VA4!=UU) 条件下 macd 的值。
分别用2个 VARIABLE()存储。
请帮我改改,非常感谢!!
源码如下:
//----MACD-----
DIF:EMA((CLOSE+h+l)/3,12)-EMA((CLOSE+h+l)/3,26);
DEA:EMA(DIF,9);
MACD:DIF;
STICKLINE(MACD>=0,MACD,0 ,5,0) ,COLORred;
STICKLINE(MACD<0,MACD,0 ,5,0 ),COLORGREEN;
STICKLINE(MACD>0 AND MACD<REF(MACD,1),MACD,0,5,0),COLORYELLOW;
STICKLINE(MACD<0 AND MACD<REF(MACD,1),MACD,0,5,0),COLORBLUE;
//-----变量声明----
GLOBALVARIABLE:前高总量=3,前低总量=3;
VARIABLE:前高MACD值仓库[1]=0, 前低MACD值仓库[1]=0;
//------高低点计算------
VA1:=HHVBARS(MACD,BARSLAST(MACD<0)+1);
VA2:=CROSS(BACKSET(CROSS(0,MACD),REF(VA1,1)+2),0.5);
VA3:=LLVBARS(MACD,BARSLAST(MACD>0)+1);
VA4:=CROSS(BACKSET(CROSS(MACD,0),REF(VA3,1)+2),0.5);
QG:=CROSS(BACKSET(CROSS(0,MACD) OR (ISLASTBAR AND MACD>0),REF(VA1,1)+2),0.5);
前高:DRAWLINE(VA2,MACD,REF(VA2,1),REF(MACD,1),1),COLORMAGENTA;
终点:=IF(ISLASTBAR AND MACD>0 AND MACD=HHV(MACD,BARSLAST(MACD<0)),1,IF(FILTERX(QG,BARSCOUNT(C)),2,DRAWNULL));
UU:=(终点=1 OR 终点=2) AND MACD>0;
//--------获取MACD前高---------
DRAWTEXT(MACD>0.5 AND VA2 AND VA2!=UU,(MACD/10)*9,'前'),COLORWHITE;
DRAWTEXT(MACD>0.5 AND VA2 AND VA2!=UU,MACD/10,'高'),COLORWHITE;
//--------获取MACD前低---------
DRAWTEXT(MACD<-0.5 AND VA4 AND VA4!=UU,(MACD/10)*9,'前'),COLORWHITE;
DRAWTEXT(MACD<-0.5 AND VA4 AND VA4!=UU,MACD/10,'低'),COLORWHITE;
//--------存储高低点值------
// IF MACD>0.5 AND VA2 AND VA2!=UU then 前高总量=前高总量+1;
// SETUBOUND(前高MACD值仓库,前高总量),
// 前高MACD值仓库[前高总量]=MACD;
想取得满足( MACD>0.5 AND VA2 AND VA2!=UU) 条件下 macd 的值。
以及满足( MACD<-0.5 AND VA4 AND VA4!=UU) 条件下 macd 的值。
分别用2个 VARIABLE()存储。
variable:nn1=0,nn2=0;
nn1:valuewhen(MACD>0.5 AND VA2 AND VA2!=UU,macd);
nn2:valuewhen(MACD<-0.5 AND VA4 AND VA4!=UU,macd);
编译提示错误:变量名“nn1”重复。。
nn1:valuewhen(MACD>0.5 AND VA2 AND VA2!=UU,macd);
要改成
nn1:=valuewhen(MACD>0.5 AND VA2 AND VA2!=UU,macd);