本周期为阳线;假设本周期至之前的第x1周期的最高价(注意这是个变量),至本周期最低价,差值为s1,即s1=hhv(h,x1)-l;假设本周期至之前的第x1周期的最高价,至第x1周期的最低价,差值为s2,即s2=hhv(h,x1)-ref(l,x1);如果s2/s1>0.5,求x1。
继续下去,x2>x1,s3=hhv(h,x2-x1)-ref(l,x1);如果s3/s2>0.5,求x2。
如果您要是改成指标的话,我看您条件,值都已经写的很清楚了,您是哪里出现问题不会写了呢?
这就是我为什么问你上面这个问题的原因
c>o;
s1=hhv(ref(h,1),x1-1)-llv(l,x1);
s2=h-llv(l,x1);
求x1为第几周期,s1/s2>0.5?
x2>x1;
s3=hhv(ref(h,1),x1-1)-llv(h,x2-x1);
求x2为第几周期,s3/s1>0.5?
我不太会用循环,麻烦你帮我编一下,谢谢!
正在处理
总觉得您的逻辑上不大对吧,您s1是从当前到x1周期中返回最高值,下面又要求s1是第几周期,这是不是前后矛盾了呀?而且您写的文字和您写的条件意思不一样啊
这个循环是往前10个周期测试,如果满足s2/s1>0.5这个条件,就给您返回出条件成立的周期
variable:s1:=0,s2:=0;
if c<o then exit ;
for a=1 to a=10 do
begin
s1:=hhv(h,a)-l;
s2:=hhv(h,a)-llv(l,a);
x1:valuewhen(s2/s1>0.5,barpos);
end