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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 历史上最近的波峰价格

   

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


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

主题:历史上最近的波峰价格

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


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2014/9/10 16:48:54
历史上最近的波峰价格  发帖心情 Post By:2018/6/9 10:27:42    Post IP:182.148.58.34[显示全部帖子]

我在序列模式下已经标注出所有的波峰位置。

 

我的需求是针对每一个日线周期,找出历史上离这个周期最近的一个波峰的价格。请问如何实现?


 回到顶部
帅哥哟,离线,有人找我吗?
guojordan
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2014/9/10 16:48:54
  发帖心情 Post By:2018/6/11 20:27:03    Post IP:182.148.58.34[显示全部帖子]

a1:= ref(h,N)=hhv(h,2*N+1); //为前后N天的波峰
b1:=filter(a1,N);
c1:=backset(b1,N+1);
HD:= filter(c1,N);
波峰高度:=REF(H,BARSLAST(HD)),COLOR00FF00,POINTDOT;
STICKLINE(HD,波峰高度,波峰高度-1,8,0),COLORYELLOW;

 

这个是标注波峰的公式。我想知道每一天的前高是多少。譬如今天的前高定义是,比今天的最高价高的所有波峰之中,离得最近的那个。昨天的前高定义是,比昨天的最高价高的所有波峰之中,离得最近的那个,以此类推。

 

谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
guojordan
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2014/9/10 16:48:54
  发帖心情 Post By:2018/6/11 20:47:16    Post IP:182.148.58.34[显示全部帖子]

前面那个代码有点小问题。请看这个代码。

 

a1:= ref(h,N)=hhv(h,2*N+1); //为前后N天的波峰
b1:=filter(a1,N);
c1:=backset(b1,N+1);
HD:= filter(c1,N);
波峰高度:=if(HD,h,0);
STICKLINE(HD,波峰高度*1.01,波峰高度,8,0),COLORYELLOW;


 回到顶部
帅哥哟,离线,有人找我吗?
guojordan
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2014/9/10 16:48:54
  发帖心情 Post By:2018/6/11 21:10:20    Post IP:182.148.58.34[显示全部帖子]

我尝试在另一个策略中以逐K运行,然后用stkindi('','波峰标注.波峰高度',0,6,0)去调用前面那个公式中的“波峰高度”,再用

前高周期:=barslast(stkindi('','波峰标注.波峰高度',0,6,0)>h); 去找到前高的位置。

但是调试过程中发现,波峰高度的数值总是传递不出来。

 

不知道是哪里出了问题。还望指教!


 回到顶部
帅哥哟,离线,有人找我吗?
guojordan
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2014/9/10 16:48:54
  发帖心情 Post By:2018/6/12 8:25:26    Post IP:182.148.58.34[显示全部帖子]

我的想法是把“波峰高度”作为一整个序列调用到逐K模式中。然后用Barslast(波峰高度>近5日高点)来找上一个高点的位置。

 

不过没有找到可以把波峰高度整个调用的办法。我用stkindi函数,只能调用当天是否存在波峰,无法把过去的所有波峰数据一并给出,所以barslast老是用不好。这个问题该怎么解决呢?

 

或者老师能提供其他的找到前高的办法也行。感谢!

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
guojordan
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2014/9/10 16:48:54
  发帖心情 Post By:2018/6/12 9:08:29    Post IP:182.148.58.34[显示全部帖子]

谢谢老师,已经改了。但是输出的只是当前k线的波峰值。我想知道针对当前k线所有的历史波峰值,这样才能用barslast去找最近的一个高于近期高点的历史波峰。这个应该怎么实现呢?

 回到顶部
帅哥哟,离线,有人找我吗?
guojordan
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2014/9/10 16:48:54
  发帖心情 Post By:2018/6/12 10:00:24    Post IP:182.148.58.34[显示全部帖子]

newhbars无法识别之前的高点是不是波峰。

 

根据老师指点,我在逐k模式下用stkindi引用之前的波峰高度,然后用barslast(波峰高度>近期高点)来找前高位置,代码如下

 

previoushigh:= stkindi('','波峰高度.波峰高度',0,6,0); //历史上的波峰高度
variable: recenthigh:=hhv(h,5);  //最近五天的高点

前高周期:=barslast(previoushigh>recenthigh);  //寻找历史上高于近期高点的,最近的一个波峰

 

 

现在previoushigh已经可以正确引用了,但是recenthigh的值自从第一次赋值后就不再随着日期变化而变化了。这个是什么问题呢?


 回到顶部
帅哥哟,离线,有人找我吗?
guojordan
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2014/9/10 16:48:54
  发帖心情 Post By:2018/6/12 10:08:17    Post IP:182.148.58.34[显示全部帖子]

如果recenthigh:=hhv(h,5);  不用之前的variable声明,倒是可以每根K线更新数值。但是这样的问题是

 

前高周期:=barslast(previoushigh>recenthigh); 这个语句中的recenthigh就不是一个固定值了,barslast就返回不了我想要的结果。

 

我是想对于每一个特定的日期来说,previoushigh是一个序列,recenthigh是近五天的高点(为特定的值),然后去找离recenthigh最近的previoushigh,这个该如何实现呢?


 回到顶部
帅哥哟,离线,有人找我吗?
guojordan
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2014/9/10 16:48:54
  发帖心情 Post By:2018/6/12 10:28:15    Post IP:182.148.58.34[显示全部帖子]

是的!

 

就是想找最近的一个比当前hhv(h,5)高的波峰!


 回到顶部
帅哥哟,离线,有人找我吗?
guojordan
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2014/9/10 16:48:54
  发帖心情 Post By:2018/6/12 13:13:56    Post IP:182.148.58.34[显示全部帖子]

弄好了。非常感谢!

 回到顶部
总数 11 1 2 下一页