VARIABLE:fi_xdk1=0,fi_上=0 ;
//基本指标
INPUT:n(5,5,350,2),倍数(20,5,30,5);
x上1:=wma(wma(hhv(h,n),n),n),LINETHICK1,colorred;
x下1:=wma(wma(llv(l,n),n),n),LINETHICK1,colorgreen;
if cross(c,x上1) then fi_xdk1:=1;
IF CROSS(x下1,c) THEN fi_xdk1:=-1;
fi_aa:=fi_xdk1=1 and ref(fi_xdk1,1)=-1;
fi_bb:=fi_xdk1=-1 and ref(fi_xdk1,1)=1;
fi_cc:=fi_aa or fi_bb;
fi_xhh1:=hhv(h,BARSLAST(fi_xdk1=-1)+1);//,NODRAW;
fi_xll1:=llv(l,BARSLAST(fi_xdk1=1)+1);//,NODRAW;
DRAWLINE(fi_aa,ref(fi_xll1,1) ,fi_bb ,ref(fi_xhh1,1) ,0 ),coloryellow,LINETHICK1,LINEDASHDOT;
DRAWLINE(fi_bb ,ref(fi_xhh1,1) ,fi_aa ,ref(fi_xll1,1) ,0 ),coloryellow,LINETHICK1,LINEDASHDOT;
fi_本次红高:=ref(fi_xhh1,SUMBARS(fi_bb,1));
fi_本次红低:=ref(fi_xll1,SUMBARS(fi_aa,1));
fi_本次绿高:=fi_本次红高;//ref(fi_xhh1,SUMBARS(fi_bb,1));
fi_本次绿低:=fi_本次红低;//ref(fi_xll1,SUMBARS(fi_aa,1));
fi_上次绿低:=ref(fi_本次绿低,SUMBARS(fi_aa,2)-1);//上次绿线fi_最低位置
{起始阶段}
fi_上开始:=fi_上次绿低< fi_本次绿低 and fi_aa and fi_上=0;//第一次出现次低的位置
DRAWICON(fi_上开始 ,llv(l,30),1 );
Fi_N上0:=BARSLAST(ref(fi_上,1)=0 and fi_上=1);//fi_上 从 0变成1 位置 开始到现在的K线数量
fi_上H:hhv(h,Fi_N上0+1);//fi_上=1的时候的最高值
Fi_N上1:=BARSLAST(fi_上=1 and ref(fi_上,1)=0 );
hhh:llv(l,Fi_N上1+1);
fi_上L:ref(llv(l,Fi_N上1+1),Fi_N上1+1);//fi_上=0时候的最低值
if fi_上开始 then BEGIN
fi_上:=1;
end;
if cross(fi_上L,c) then BEGIN {下穿最低线或者cross(ma(c,30),c) 的时候 fi_上为0}
fi_上:=0;
end;
ttt:fi_上;
请问上面的指标 fi_上L 的值为什么没有?应该怎么改?
错误应该在
Fi_N上0:=BARSLAST(ref(fi_上,1)=0 and fi_上=1);//fi_上 从 0变成1 位置 开始到现在的K线数量
fi_上H:hhv(h,Fi_N上0+1);//fi_上=1的时候的最高值
Fi_N上1:=BARSLAST(fi_上=1 and ref(fi_上,1)=0 );
hhh:llv(l,Fi_N上1+1);
fi_上L:ref(llv(l,Fi_N上1+1),Fi_N上1+1);//fi_上=0时候的最低值
if fi_上开始 then BEGIN
fi_上:=1;
end;
if cross(fi_上L,c) then BEGIN {下穿最低线或者cross(ma(c,30),c) 的时候 fi_上为0}
fi_上:=0;
end;
这段代码里,但是我怎么都找不出来。只有麻烦版主了
你条件横不成立。自然没有值出来。你自己排查下你的逻辑。
用:输出显示自己的条件值,逐级排查逻辑。
[此贴子已经被作者于2020/1/10 9:36:50编辑过]