以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  关于HHVBARS的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=156334)

--  作者:c100010231
--  发布时间:2017/7/28 11:55:04
--  关于HHVBARS的问题

各位老师好。

我在使用HHVBARS这一函数时有这一问题:如果在某周期内有两个相同的高点,那么这个函数所求得的周期数默认是从第一个高点算起到当下的周期数。可我需要的是最近一个高点到现在的周期数。请问如何解决?

 

 


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
如上图,我需要得到MACD在零轴上时最近的高点到目前的周期数。那么应得到最近一个高点到目前的周期数为18,但HHVBARS给我返回的周期数却是25。
--  作者:wenarm
--  发布时间:2017/7/28 12:03:56
--  

使用的品种和周期是什么?


--  作者:c100010231
--  发布时间:2017/7/28 12:33:04
--  
我上的图是矿石,五分钟。
就是今天矿石走势5分钟的截图,我随便截来用的,都一样的,和品种和周期无关。
[此贴子已经被作者于2017/7/28 12:34:06编辑过]

--  作者:wenarm
--  发布时间:2017/7/28 12:35:03
--  

a:HHVBARS(HIGH,30);
cc:BARSLAST(h=ref(h,a))+1;

在白银上看了下好像没问题,你本地看下这种方式能解决你的实际情况不,

[此贴子已经被作者于2017/7/28 12:35:45编辑过]

--  作者:c100010231
--  发布时间:2017/7/28 12:51:52
--  


图片点击可在新窗口打开查看此主题相关图片如下:未命名1.jpg
图片点击可在新窗口打开查看

随便又找了个品种和周期,问题一样,上图是螺纹1分钟。时间是:7月26日22:50分,和22:53分有两个相同的高点。但HHVBARS是从第一个高点开始算起的周期数。


--  作者:wenarm
--  发布时间:2017/7/28 12:57:01
--  
4楼中的你试下不行吗?
[此贴子已经被作者于2017/7/28 12:57:12编辑过]

--  作者:c100010231
--  发布时间:2017/7/28 12:57:38
--  


图片点击可在新窗口打开查看此主题相关图片如下:未命名2.jpg
图片点击可在新窗口打开查看

如图:我使用的公式为:HHVBARST:HHVBARS(H,100);

在十字线的位置,如果是以最后一个高点为起点,则值应为1才对。但实际上的值为4,是以前一高点为起点算起的。


--  作者:wenarm
--  发布时间:2017/7/28 12:58:34
--  

a:HHVBARS(HIGH,30);
cc:BARSLAST(h=ref(h,a))+1;


--  作者:c100010231
--  发布时间:2017/7/28 13:09:59
--  

用您的公式试了下,可以,谢谢。图片点击可在新窗口打开查看

不过,整个的公式系统已经较累了,这又加多了一层计算。如果直接得出的就是最近的高点该多好啊。图片点击可在新窗口打开查看

而且,在走势图上,都是把最近一个高点做为高点值标注上,为什么到了HHVBARS就变了?想不通。


--  作者:wenarm
--  发布时间:2017/7/28 14:06:34
--  

标识出的最高价是按最近的为标准。

而HHVBARS在在计算是只返回第一个符合条件的结果。

 

你可以尝试将代码整体运行流程上进行优化。