以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  请教代码含义  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=79175)

--  作者:lilili
--  发布时间:2015/5/29 14:23:08
--  请教代码含义
针对下面这段代码,请教一下:
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呢?不是很明白。

--  作者:yukizzc
--  发布时间:2015/5/29 14:57:17
--  

这不是循环而是判断语句

是只有在MAHIGH=0时,才将close赋值给mahigh

 

IF MAHIGH=0 THEN               //加上begin和end才是当条件满足执行里面的三句代码

BEGIN

      MALOW:=CLOSE;
      DRAWHIGH := MAHIGH;
      DRAWLOW  := MALOW;
END;