以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://www.weistock.com/bbs/list.asp?boardid=4) ---- 历史上最近的波峰价格 (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=163938) |
-- 作者:guojordan -- 发布时间:2018/6/9 10:27:42 -- 历史上最近的波峰价格 我在序列模式下已经标注出所有的波峰位置。
我的需求是针对每一个日线周期,找出历史上离这个周期最近的一个波峰的价格。请问如何实现? |
-- 作者:wenarm -- 发布时间:2018/6/10 9:48:25 -- 请提供你标注波峰的代码。
|
-- 作者:guojordan -- 发布时间:2018/6/11 20:27:03 -- a1:= ref(h,N)=hhv(h,2*N+1); //为前后N天的波峰
这个是标注波峰的公式。我想知道每一天的前高是多少。譬如今天的前高定义是,比今天的最高价高的所有波峰之中,离得最近的那个。昨天的前高定义是,比昨天的最高价高的所有波峰之中,离得最近的那个,以此类推。
谢谢! |
-- 作者:guojordan -- 发布时间:2018/6/11 20:47:16 -- 前面那个代码有点小问题。请看这个代码。
a1:= ref(h,N)=hhv(h,2*N+1); //为前后N天的波峰 |
-- 作者:guojordan -- 发布时间:2018/6/11 21:10:20 -- 我尝试在另一个策略中以逐K运行,然后用stkindi(\'\',\'波峰标注.波峰高度\',0,6,0)去调用前面那个公式中的“波峰高度”,再用 前高周期:=barslast(stkindi(\'\',\'波峰标注.波峰高度\',0,6,0)>h); 去找到前高的位置。 但是调试过程中发现,波峰高度的数值总是传递不出来。
不知道是哪里出了问题。还望指教! |
-- 作者:guojordan -- 发布时间:2018/6/12 8:25:26 -- 我的想法是把“波峰高度”作为一整个序列调用到逐K模式中。然后用Barslast(波峰高度>近5日高点)来找上一个高点的位置。
不过没有找到可以把波峰高度整个调用的办法。我用stkindi函数,只能调用当天是否存在波峰,无法把过去的所有波峰数据一并给出,所以barslast老是用不好。这个问题该怎么解决呢?
或者老师能提供其他的找到前高的办法也行。感谢!
|
-- 作者:wenarm -- 发布时间:2018/6/12 8:42:39 -- 有相应的值输出。你引用的变量必须用:表示 波峰高度:if(HD,h,0);
|
-- 作者:guojordan -- 发布时间:2018/6/12 9:08:29 -- 谢谢老师,已经改了。但是输出的只是当前k线的波峰值。我想知道针对当前k线所有的历史波峰值,这样才能用barslast去找最近的一个高于近期高点的历史波峰。这个应该怎么实现呢? |
-- 作者:FireScript -- 发布时间:2018/6/12 9:26:37 -- 你用stkind引用的时候,它引用的就是整个序列变量。也就是历史K的波峰高度都包含在这个序列中。 然后你再看下NEWHBARS这个函数。 |
-- 作者:guojordan -- 发布时间:2018/6/12 10:00:24 -- newhbars无法识别之前的高点是不是波峰。
根据老师指点,我在逐k模式下用stkindi引用之前的波峰高度,然后用barslast(波峰高度>近期高点)来找前高位置,代码如下
previoushigh:= stkindi(\'\',\'波峰高度.波峰高度\',0,6,0); //历史上的波峰高度 前高周期:=barslast(previoushigh>recenthigh); //寻找历史上高于近期高点的,最近的一个波峰
现在previoushigh已经可以正确引用了,但是recenthigh的值自从第一次赋值后就不再随着日期变化而变化了。这个是什么问题呢? |