以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 请教公式问题 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=173914) |
-- 作者:wxx212 -- 发布时间:2020/1/10 9:23:54 -- 请教公式问题 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 的值为什么没有?应该怎么改?
|
-- 作者:wxx212 -- 发布时间:2020/1/10 9:25:02 -- 错误应该在 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; 这段代码里,但是我怎么都找不出来。只有麻烦版主了
|
-- 作者:FireScript -- 发布时间:2020/1/10 9:35:37 -- cross(fi_上L,c) 这里面这个变量fi_上L 一直是无效值。 你从这个值的计算去排查。
|
-- 作者:wenarm -- 发布时间:2020/1/10 9:36:44 -- 你条件横不成立。自然没有值出来。你自己排查下你的逻辑。 用:输出显示自己的条件值,逐级排查逻辑。 [此贴子已经被作者于2020/1/10 9:36:50编辑过]
|
-- 作者:wxx212 -- 发布时间:2020/1/13 22:59:04 -- 好的,谢谢 |