请问老师,为什么我编写的指标有时候看的到,有时候看不到,有时候正确显示编写的内容,有时候确只显示了一半?
HH:=H;
LL:=L;
FOR I=2 TO DATACOUNT-10 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]:=3;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]=1 OR A[I+1]=2) AND A[I]=3 AND A[I-1]=1) THEN BEGIN G[I]:=10;GG[I]:=10;END;
IF (A[I+1]=3 AND A[I]=1 AND (A[I+2]=1 OR A[I+2]=2)) THEN BEGIN G[I]:=11;GG[I]:=11;END;
IF ((A[I+1]=1 OR A[I+1]=2) AND A[I]=3 AND A[I-1]=2) THEN BEGIN G[I]:=12;GG[I]:=12;END;
IF (A[I+1]=3 AND A[I]=2 AND (A[I+2]=1 OR A[I+2]=2)) THEN BEGIN G[I]:=13;GG[I]:=13;END;//一合完毕
END;
STICKLINE(GG=10,MAX(H,REF(H,1)),MAX(L,REF(L,1)),8,0),COLORGRAY;//标记上涨一合的内外包日
STICKLINE(GG=11,MAX(H,REFX(H,1)),MAX(L,REFX(L,1)),8,0),COLORGRAY;//标记上涨一合的内外包日的前一日
STICKLINE(GG=12,MIN(H,REF(H,1)),MIN(L,REF(L,1)),8,0),COLORGRAY;//标记下跌一合的内外包日
STICKLINE(GG=13,MIN(H,REFX(H,1)),MIN(L,REFX(L,1)),8,0),COLORGRAY;//标记下跌一合的内外包日的前一日
1,有些地方不显示柱状图是因为GG值的问题,而上面对应GG数组的赋值存在没有赋值的情况所以才会没标记
THEN BEGIN G[I]:=10;GG[I]:=10;END;
THEN BEGIN G[I]:=11;GG[I]:=11;END;
THEN BEGIN G[I]:=12;GG[I]:=12;END;
THEN BEGIN G[I]:=13;GG[I]:=13;END;//一合完毕
这不都赋值了吗?请问要怎么修改才可以呢
1,赋值是有条件的,您可以使用SHIFT+Q看下对应的条件。条件不成立的时候GG和G的值并不在10,11,12,13之间