针对下面这段代码,请教一下:DS:ABS(EMA(HIGH,120))+0.75*(ABS(EMA(HIGH,120))-ABS(EMA(LOW,120)));
DX:ABS(EMA(LOW,120))-1.5*(ABS(EMA(HIGH,120))-ABS(EMA(LOW,120)));
VARIABLE:WIDTHS=5;
MAHIGH:=HHV(DS,WIDTHS);
MALOW :=LLV(DX,WIDTHS);
NUM :=FLOOR(BARPOS/WIDTHS);
VALUE :=BARPOS - NUM*WIDTHS;
IF NUM > 0 THEN BEGIN
IF VALUE = 0 THEN BEGIN
IF MAHIGH=0 THEN
MAHIGH:=CLOSE;
IF MAHIGH=0 THEN
MALOW:=CLOSE;
DRAWHIGH := MAHIGH;
DRAWLOW := MALOW;
END;
END;
ELSE EXIT;
DS:=DRAWHIGH,LINETHICK3;
DX:=DRAWLOW,LINETHICK3;
其中的循环语句,
IF MAHIGH=0 THEN
MAHIGH:=CLOSE;
如果MAHIGH不等于0的话,是否就不进行判断了,是不是只有在MAHIGH=0时,才将close赋值给mahigh?
并且也是在mahigh=0的时候,将mahigh赋值给drawhigh?此时,赋值给drawhigh的,是不是就是close?
那下面的对DS和DX的赋值语句,究竟是将什么值赋给了DS和DX呢?不是很明白。
这不是循环而是判断语句
是只有在MAHIGH=0时,才将close赋值给mahigh
IF MAHIGH=0 THEN //加上begin和end才是当条件满足执行里面的三句代码
BEGIN
MALOW:=CLOSE;
DRAWHIGH := MAHIGH;
DRAWLOW := MALOW;
END;