以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://www.weistock.com/bbs/list.asp?boardid=2) ---- 请教代码含义 (http://www.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;
|