HH:=H;
LL:=L;
FOR I=2 TO DATACOUNT DO BEGIN
N1:=HH[I]>HH[I-1] AND LL[I]>LL[I-1];
N2:=HH[I]<HH[I-1] AND LL[I]<LL[I-1];
N3:=(HH[I]>=HH[I-1] AND LL[I]<=LL[I-1]) OR (HH[I]<=HH[I-1] AND LL[I]>=LL[I-1]);
IF N1 THEN BEGIN A[I]:=1;AA[I]:=1;END;
IF N2 THEN BEGIN A[I]:=2;AA[I]:=2;END;
IF N3 THEN BEGIN A[I]:=3;AA[I]:=AA[I-1];END;
IF N3 THEN BEGIN
IF AA[I-1]=1 THEN BEGIN
HH[I]:=MAX(HH[I],HH[I-1]);
LL[I]:=MAX(LL[I],LL[I-1]);
END;
IF AA[I-1]=2 THEN BEGIN
HH[I]:=MIN(HH[I],HH[I-1]);
LL[I]:=MIN(LL[I],LL[I-1]);
END;
END;
IF A[I+1]=3 THEN BEGIN G[I]:=10;GG[I]:=10;END;
END;
STICKLINE(GG=10,HH,LL,8,2),COLORGRAY;//标记
您好,请问为什么用 A[I+1]=3 就会显示错误?而用 A[I-1]=3 就可以正常显示
I是从2到DATACOUNT的,你I+1不就是DATACOUNT+1了,超出了数据范围