以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请教如何获得上一个均线金叉周期的高值和低值?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=155961)

--  作者:sdeeven
--  发布时间:2017/7/14 10:01:04
--  请教如何获得上一个均线金叉周期的高值和低值?
如果获得上一个均线金叉周期的最高值、最低值?
编写了如下代码,但是结果显示不对,请大神指点迷津,该如何实现!


MA1:MA(CLOSE,5),COLORred;
MA2:MA(CLOSE,10),COLORyellow;
高:=h;//当日最高价
低:=l;//当日最低价
j:=0;
k:=0;
金叉天数1:=BARSLAST(cross(ema(c,5),ema(c,10)));//本次均线金叉至今的天数
金叉天数2:=ref(金叉天数1,(金叉天数1)+1);//上次金叉至本次金叉的天数

峰1:=ref(高,金叉天数1+1); //上次金叉周期内最后一天的高值,赋为初值
谷1:=ref(低,金叉天数1+1);//上次金叉周期内最后一天的低值,赋为初值

//取上次金叉周期内峰值、谷值
//想用for语句实现遍历比较,但语句“ for i=1 to 金叉天数2 do ”,是不是不支持变量金//叉天数2,导致结果不对

for i=1 to 金叉天数2  do 
begin
谷1:=min(ref(低,金叉天数1+金叉天数2-i+1),谷1);//前1次金叉周期内的谷值
峰1:=max(ref(高,金叉天数1+金叉天数2-i+1),峰1);//前1次金叉周期内的峰值
end;

峰1:峰1,linethick0;
谷1:谷1,linethick0;

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


--  作者:FireScript
--  发布时间:2017/7/14 15:04:45
--  
你这个“金叉周期”是按照你图上所标注的去定义的?那不就是上一次金叉和上上一次金叉的位置中间的那段吗?取得这2次位置的K位置,然后就可以统计这段区间内的高低价了,知道了区间范围就没必要遍历比较了,ref配合hhv以及llv就可以了。  另外高和低,你的代码里面重复定义。
--  作者:sdeeven
--  发布时间:2017/7/14 21:47:38
--  
谢谢版主, 问题已经解决!!图片点击可在新窗口打开查看