GLOBALVARIABLE:前高:=0,xx:=0;
前高:=if( MACD>0.5 AND VA2 AND VA2!=UU,MACD,0);
if 前高!=0 then xx:=前高;
我写的不对?
GLOBALVARIABLE:前高:=0,xx:=0;
前高:=if( c>o,1,0);
if 前高!=0 then xx:=前高;
xxx:xx;
用这样的公式测试,XX是有值的
楼主的公式没有值,说明前高没有值,说明判断条件有问题
前高是值的。帮我看下下,谢谢。
代码如下:
//----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:前高:=0,前低:=0,xx:=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);
终点:=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;
GLOBALVARIABLE:前高:=0,xx:=0;
前高:=if( MACD>0.5 AND VA2 AND VA2!=UU,MACD,0);
if 前高!=0 then xx:=333333333;
//xxx:xx1;
//xxx0:xx2;
//if 前高=0 then xx:=前高+1;
//xx:=if(前高=0,drawnull,前高);
//DRAWTEXT(xx=0,(MACD/10)*9,'xxxxxxxxxxx'),COLORWHITE;
//IF(前高!=0,前高,100000000);