所有的条件都成立了,请问为何调试的时候 所有的参数 gao ,di, ,nn1 都是0.
不应该啊,连全局变量在声明的时候 都赋值成1了,调试的时候还是0.
郁闷啊。
请帮忙看看,谢谢。
//-----变量声明----
GLOBALVARIABLE:gao=1,di=1;
variable:nn1[1]=0,nn2[1]=0;
//--------存储高低点值------
IF MACD>0.5 AND VA2 AND VA2!=UU and gao=1 then nn1[gao]=MACD;
IF MACD>0.5 AND VA2 AND VA2!=UU and gao!=1 then gao=gao+1;
IF MACD>0.5 AND VA2 AND VA2!=UU then SETUBOUND(nn1,gao),nn1[gao]=MACD;
nn3:nn1;
源码如下:
//----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;
//------高低点计算------
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;
//-----变量声明----
GLOBALVARIABLE:gao=1,di=1;
variable:nn1[1]=0,nn2[1]=0;
//--------存储高低点值------
IF MACD>0.5 AND VA2 AND VA2!=UU and gao=1 then nn1[gao]=MACD;
IF MACD>0.5 AND VA2 AND VA2!=UU and gao!=1 then gao=gao+1;
IF MACD>0.5 AND VA2 AND VA2!=UU then SETUBOUND(nn1,gao),nn1[gao]=MACD;
nn3:nn1;
IF MACD>0.5 AND VA2 AND VA2!=UU and gao!=1 then gao=gao+1;
最后的是判断,不是赋值,
要改成gao:=gao+1;
该成gao:=gao+1;了,运行后还是0。
连GLOBALVARIABLE:gao:=1,di:=1;这个全局变量也是0.。
郁闷啊
用超全局变量是为了什么目的?