Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:为什么老提示数组越界?

1楼
qq代人发帖 发表于:2014/7/22 15:51:10
 为什么老提示数组越界?
 
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;
END;
2楼
心心之火 发表于:2014/7/22 15:57:15
有无老师给出一个正确的答案?
3楼
FexTel 发表于:2014/7/22 16:00:12
AA[I-1]; 当I为2时,aa[1]没有定义
4楼
心心之火 发表于:2014/7/22 16:03:41
请放大K线或者缩小K线,就有问题了,就是多读取些历史数据,就会有这个问题
5楼
FexTel 发表于:2014/7/22 16:04:39
以下是引用FexTel在2014/7/22 16:00:12的发言:
AA[I-1]; 当I为2时,aa[1]没有定义

对AA[1]定义下,或者直接自行赋值

6楼
心心之火 发表于:2014/7/22 16:07:35
我知道,自动赋值就不会有这个问题,但是我要表达的就是条件满足N3时,AA[I]自动返回前一个K线
7楼
FexTel 发表于:2014/7/22 16:13:35

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;

 

您这个赋值根本无法定义AA[1]这一项,让你对AA[1]定义。aa数组中的第一个元素

[此贴子已经被作者于2014/7/22 16:16:15编辑过]
共7 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01758 s, 3 queries.