欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教公式问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2843人关注过本帖树形打印复制链接

主题:请教公式问题

帅哥哟,离线,有人找我吗?
wxx212
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:501 积分:0 威望:0 精华:0 注册:2014/12/15 17:19:54
请教公式问题  发帖心情 Post By:2020/1/10 9:23:54    Post IP:115.199.182.67[只看该作者]

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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:501 积分:0 威望:0 精华:0 注册:2014/12/15 17:19:54
  发帖心情 Post By:2020/1/10 9:25:02    Post IP:115.199.182.67[只看该作者]

错误应该在

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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/1/10 9:35:37    Post IP:180.169.30.6[只看该作者]

 cross(fi_上L,c)
这里面这个变量fi_上L  一直是无效值。
你从这个值的计算去排查。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2020/1/10 9:36:44    Post IP:180.169.30.6[只看该作者]

你条件横不成立。自然没有值出来。你自己排查下你的逻辑。

用:输出显示自己的条件值,逐级排查逻辑。

[此贴子已经被作者于2020/1/10 9:36:50编辑过]


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
wxx212
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:501 积分:0 威望:0 精华:0 注册:2014/12/15 17:19:54
  发帖心情 Post By:2020/1/13 22:59:04    Post IP:125.120.46.104[只看该作者]

好的,谢谢

 回到顶部