针对下面这段代码,请教一下: 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呢?不是很明白。 |
IF MAHIGH=0 THEN
按照上面的代码顺序
mahigh=0时,只会有mahigh赋值为close,后面一句没用了
IF MAHIGH=0 THEN
看代码的意思,你这句估计抄错了