以文本方式查看主题

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

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


--  作者:jinzhe
--  发布时间:2015/5/29 14:36:52
--  

 

IF MAHIGH=0 THEN 

      MAHIGH:=CLOSE;
  IF MAHIGH=0 THEN 
      MALOW:=CLOSE;
      DRAWHIGH := MAHIGH;
      DRAWLOW  := MALOW;
    END;

 

 

按照上面的代码顺序

mahigh=0时,只会有mahigh赋值为close,后面一句没用了

 

 

IF MAHIGH=0 THEN 

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

 

 

看代码的意思,你这句估计抄错了


--  作者:lilili
--  发布时间:2015/5/29 14:40:53
--  
是这样呀,多谢了!