请版主赐教
If cod then begin
DRAWTEXT( cod,h HIGH,'S 5',COLORrgb(100,255,100));
end
else begin
if cod6 then begin
DRAWTEXT(cod,h,'S 4',COLORrgb(120,255,120));
end
else begin
if cod then begin
DRAWTEXT( cod,h,'S 3',COLORrgb(140,255,140));
end
else begin
if cod then begin
DRAWTEXT(cod,h,'S 2',COLORrgb(160,255,160));
end
……
这样写 提示 缺少end 我实现的是 满足第一行的条件时,不计算以后的任何条件,当第一条件满足不了时,然后在运算第二个条件,不计算第二个条件以后的任何条件,当一、二条件都不能满足时,运算第三个条件,不计算第三个以后的任何条件,一次类推到n个
还有 一个系统 可不可多组if else嵌套?
谢
支持多层嵌套的。但是要考虑执行的效率
If cod then begin
DRAWTEXT( cod,h HIGH,'S 5',COLORrgb(100,255,100));
end
else if cod6 then begin
DRAWTEXT(cod,h,'S 4',COLORrgb(120,255,120));
end
else if cod then begin
DRAWTEXT( cod,h,'S 3',COLORrgb(140,255,140));
end
else if cod then begin
DRAWTEXT(cod,h,'S 2',COLORrgb(160,255,160));
end
x1:ref(h,5),COLORRED;
x2:ref(LOW,5),COLORgreen;
If h>=x1*1.0043 then begin
DRAWTEXT( h>=x1*1.0043,HIGH,'S5',COLORrgb(100,255,100));
end
else if h>=x1*1.00266 then begin
DRAWTEXT( h>=x1*1.00266,h,'S4',COLORrgb(120,255,120));
end
else if h>=x1*1.00163 then begin
DRAWTEXT(h>=x1*1.00163, h,'S3',COLORrgb(140,255,140));
end
else if h>=x1*1.001016 then begin
DRAWTEXT(h>=x1*1.001016, h,'S2',COLORrgb(160,255,160));
end
else if h>=x1*1.00063 then begin
DRAWTEXT( h>=x1*1.00063,h,'S1',COLORrgb(180,255,180));
end
else if h>=x1*1.00023 then begin
DRAWTEXT(h>=x1*1.00023,h,'S',COLORrgb(200,255,200)),ALIGN 2;
end
if l<=X2*0.9957 then begin
DRAWTEXT( l<=X2*0.9957,l,'B5',COLORrgb(255,100,100));
end
else if l<=X2*0.99734 THEN begin
DRAWTEXT( l<=X2*0.99734,l,'B4',COLORrgb(255,120,120));
end
else if l<=X2*0.99837 then begin
DRAWTEXT(l<=X2*0.99837,l,'B3',COLORrgb(255,140,140));
end
else if l<=X2*0.998984 then begin
DRAWTEXT(l<=X2*0.998984,l,'B2',COLORrgb(255,160,160));
end
else if l<=X2*0.99937 then begin
DRAWTEXT(l<=X2*0.99937,l,'B1',COLORrgb(255,180,180));
end
else if l<=x2*0.99967 then begin
DRAWTEXT(l<=x2*0.99967,l,'B',COLORrgb(255,200,200)),ALIGN 2;
end
测试是通过了 但是显示混乱 当前k线一变 前面所有k线都跟着变 ,买点b为什么显示不处理 不是可以嵌套吗 求教
这个你自己逻辑判断下你的条件。
这个是3层嵌套的范例。逻辑是没有错的。你可以参考后迭代添加。条件可以使用 FALSE 和 TRUE 进行代替,可以测试嵌套是否进入该层。
If FALSE then begin
DEBUGFILE('D:\123.TXT','第一层=%.2f',1);
end
else if FALSE then begin
DEBUGFILE('D:\123.TXT','第二层=%.2f',2);
end
else if TRUE then begin
DEBUGFILE('D:\123.TXT','第三层=%.2f',3);
end