IF con11 THEN BEGIN DRAWTEXT('多空',con11,FX,'强多'),RGB(255,0,255);ENDELSE BEGIN IF con12 THEN BEGIN DRAWTEXT('多空',con12,FX,'强空'),RGB(0,255,255);END ELSE BEGIN IF con13 THEN BEGIN DRAWTEXT('多空',con13,FX,'多'),RGB(255,0,0);ENDELSE BEGIN IF con14 THEN BEGIN DRAWTEXT('多空',con14,FX,'空'),RGB(0,255,0);END ELSE BEGIN IF con15 THEN BEGIN DRAWTEXT('多空',con15,FX,'上'),RGB(200,0,0);ENDELSE BEGIN DRAWTEXT('多空',con16,FX,'下'),RGB(0,200,0);END END END END END以上代码会造成在报价字段有时候显示并不准确,第一和第二的"强多""强空"的显示是对的,后面的经常会乱,比如有时候应该显示第五个状态"上",结果显示的是其他状态,但是颜色却能按照状态来准确显示请问这个语法有什么地方不正确吗
另外, 简语言的ifelse毕竟原始, 这有个例子处理多个状态,且可以输出在行情报价上,你可以参考下, RSV:=(CLOSE-LLV(LOW,14))/(HHV(HIGH,14)-LLV(LOW,14))*100;//收盘价与N周期最低值做差,N周期最高值与N周期最低值做差,两差之间做比值定义为RSV
K:=SMA(RSV,3,1);//RSV的移动平均
D:=SMA(K,3,1);//K值的移动平均
主力:K,COLORRED;
散户:D,COLORGREEN;
IF CROSS(主力,散户) THEN
BEGIN DRAWTEXT('简语言if案例',主力<22,20,'多起动',' '),colORRED;END
Else
BEGIN
IF CROSS(主力,30) then
BEGIN DRAWTEXT('简语言if案例',散户<主力,40,'上扬',' '),colORRED;END
else
begin
IF CROSS(散户,主力) then
BEGIN DRAWTEXT('简语言if案例',散户>75,80,'空起动',' '),COLORGREEN;END
else
begin
IF CROSS(主力,70) then
BEGIN DRAWTEXT('简语言if案例',散户>主力,60,'下甩',' '),COLORGREEN;END
else
BEGIN DRAWTEXT('简语言if案例',1,0,' ',' ');END
end
end
end
回复:谢谢老师的回复,以我的那段代码为例,比如强多的条件是:CROSS(A,B) AND C>D,多的条件是CROSS(A,B)没那么是不是就会出现你说的有了包含关系导致显示逻辑出错呢,那有没其他的方式能把这个区别用字段显示出来呢
回复:
回复:你看我另一个回复, 有个用kd的例子写的, 你自己参照下
con1:= ref(c,1) > ref(o,1);
con2:= c>o;
IF con1 THEN
BEGIN DRAWTEXT('阴阳线',con2,CLOSE,'阳阳','阳阴');END
Else
BEGIN DRAWTEXT('阴阳线',con2,CLOSE,'阴阳','阴阴');END