以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  编程数组跨界操作问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=66278)

--  作者:大猩猩
--  发布时间:2014/6/18 8:56:42
--  编程数组跨界操作问题
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 就可以正常显示

--  作者:瑟郎
--  发布时间:2014/6/18 9:00:03
--  
你用在序列模式还是逐k线?
--  作者:大猩猩
--  发布时间:2014/6/18 9:01:53
--  
序列
--  作者:大猩猩
--  发布时间:2014/6/18 9:17:11
--  
论坛有没有老师,帮忙解答下


--  作者:jinzhe
--  发布时间:2014/6/18 9:30:22
--  

I是从2到DATACOUNT的,你I+1不就是DATACOUNT+1了,超出了数据范围


--  作者:大猩猩
--  发布时间:2014/6/18 9:39:20
--  
知道了,那请问我应该怎么来表达I+1这个意思呢?
--  作者:jinzhe
--  发布时间:2014/6/18 9:49:44
--  
i=2 to i=datacount-1
--  作者:大猩猩
--  发布时间:2014/6/18 9:54:29
--  
收到,谢谢,这个有用
--  作者:大猩猩
--  发布时间:2014/6/23 9:36:47
--  
老师在不在