编了一个。有很多可以改进的地方,如果那位高手能改进,请指出,感谢至极。
 昨天请教了一个问题,感谢回答的那个兄弟。
 图中晶红色表示底分型成立,绿色表示顶分型成立。
 这个的特点就是按禅师的原意写的

源码

L1:=ref(L,1);L2:=ref(L,2);H1:=ref(H,1);H2:=ref(H,2);
F2:=IF(H>H1 AND L>L1,1,IF(H<H1 AND L<L1,-1,0));{上1,下-1.包含0}
FF:=c;
HH:=h;
LL:=l;
variable:x=0,k=2,kk=0,kkk=0,a=F2;
while x=0 do
  if F2[k]=0 then
    begin
    x:=x+F2[k+1];
    k:=k+1;
    end;
  else
    break;
kk:=k;
kkk:=datacount-1;
for i=kk to kkk do
  begin
  F2[k+1]:=if(HH[k+1]>HH[k] AND LL[k+1]>LL[k],1,IF(HH[k+1]<HH[k] AND LL[k+1]<LL[k],-1,0));{上1,下-1.包含0}
    if F2[k+1]=0 then
      if F2[k]>0
        then
          begin
          HH[k+1]:=max(HH[k+1],HH[k]);
          LL[k+1]:=max(LL[k+1],LL[k]);
          F2[k+1]:=0.5;
          k:=k+1;
          end;
      else
          begin
          HH[k+1]:=min(HH[k+1],HH[k]);
          LL[k+1]:=min(LL[k+1],LL[k]);
          F2[k+1]:=-0.5;
          k:=k+1;
          end;
    else
  k:=k+1;
  end;
aa:=setlbound(FF,kk+1);
for i=kk+1 to datacount do
  FF[i]:=if(F2[i-1]>0 and F2[i]<0,-1,if(F2[i-1]<0 and F2[i]>0,1,0));
stickline(FF=1,l,h,2,0),COLORMAGENTA;
stickline(FF=-1,l,h,2,0),COLORGREEN;


声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。