以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  副图指标不正确  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=66407)

--  作者:大猩猩
--  发布时间:2014/6/20 12:11:26
--  副图指标不正确
请问老师,为什么我编写的指标有时候看的到,有时候看不到,有时候正确显示编写的内容,有时候确只显示了一半?
--  作者:FexTel
--  发布时间:2014/6/20 13:11:20
--  
 1,这个最好指标给下,让工作人员帮您分析下
--  作者:大猩猩
--  发布时间:2014/6/20 13:21:31
--  
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;//标记下跌一合的内外包日的前一日


--  作者:FexTel
--  发布时间:2014/6/20 13:51:04
--  
1,有些地方不显示柱状图是因为GG值的问题,而上面对应GG数组的赋值存在没有赋值的情况所以才会没标记
--  作者:大猩猩
--  发布时间:2014/6/20 14:08:04
--  
  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;//一合完毕
这不都赋值了吗?请问要怎么修改才可以呢

--  作者:FexTel
--  发布时间:2014/6/20 14:21:14
--  
 1,赋值是有条件的,您可以使用SHIFT+Q看下对应的条件。条件不成立的时候GG和G的值并不在10,11,12,13之间