以文本方式查看主题

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

--  作者:wqspeter
--  发布时间:2013/6/25 16:52:40
--  删掉的版块的品种怎么恢复

以下是一段指标代码,选择的是“副图”、“序列计算”

M:="amount#day";(不用理会这四个值是否一样)
M1:="amount#day";
M2:="amount#day";
M3:="amount#day";
MTMP:=0;
IF ((((M < (M1 / 2)) OR (M < (M2 / 2))) OR (M > (2 * M1))) OR (M > (2 * M2))) THEN
BEGIN
IF (M > MTMP) THEN
BEGIN
MTMP:=M;
END
IF (M1 > MTMP) THEN
BEGIN
MTMP:=M1;
END
IF (M2 > MTMP) THEN
BEGIN
MTMP:=M2;
END
IF (M3 > MTMP) THEN
BEGIN
MTMP:=M3;
END
M:=MTMP;
M1:=MTMP;
M2:=MTMP;
M3:=MTMP;
END
AM:(((M + M1) + M2) / 30000000000),NODRAW;

按理说,第一个IF条件不成立,内嵌的IF不可能执行,MTMP这个变量应该还是0,最后被赋值的M/M1/M2/M3都应该=0.但是运行输出结果却是如下内容:


图片点击可在新窗口打开查看此主题相关图片如下:2222.jpg
图片点击可在新窗口打开查看

请帮助解释一下。

 


--  作者:jinzhe
--  发布时间:2013/6/25 17:22:15
--  
既然IF都不成立了,那么后面的mtmp赋值给M1-3,不就是都不成立了