本帖最后由 技术009 于 2023-9-8 11:26 编辑
[PEL] 复制代码 n:=10;
hlen:hhvbars(h,n),nodraw;
h1:=hhv(h,n);
l1_len:=n-hlen;
left_lindex:0,NODRAW; //最大值左侧最小值的k线位置
left_minl:0,NODRAW;//最大值左侧的最小值
right_lindex:0,NODRAW; //最大值右侧最小值的k线位置
right_minl:0,NODRAW;//最大值右侧的最小值
v1:=llvbars(l,hlen);
v2:=llv(l,hlen);
//要排除掉n根k内 第一个或者最后一个k是最大值的情况
if hlen<n-1 and hlen>0 then
begin
for i=l1_len+1 to n-1 do
begin
if left_minl=0 then left_minl:= l[barpos-i];
if l[barpos-i]<left_minl then
begin
left_lindex:=i;
left_minl:=l[barpos-i];
end
end
right_lindex:=v1;
right_minl:=v2;
end
参考上面模板,上面代码已经获取了:
最大值右侧区间,左侧区间的最低值 以及对应的位置。
你现在只需要对这些数值做进一步处理即。基于上面代码你还可以进一步限制 左右侧低点距离2段的长度,以及低点距离中间高点的区间长度等等。 |