你好,请问代码错误号在哪能查到?
下面代码,不知道错误在哪?请指示,谢谢。
Vars
//顶底变量
Array<Numeric> L1; //顶底数组、初滤
Array<Numeric> LBar;
Array<Numeric> L2; //顶底数组、过滤
Array<Numeric> L2D; //标识:低位表示顶底形态:未知=0/简单=1/复合=2;高位表示走向状态:顺畅=0/中继=1。组合为00,01,02,,11,12
Array<Numeric> L2Bar;
Defs
//目的去掉复合顶或者底,以及中继走势
//取最近g_Times个底和顶及BAR位置索引,L2[0]=1,存储序列为顶、底、顶、底。。。;L2[0]=-1,存储序列为底、顶。。。
Numeric g_Get_3HL(ArrayRef<Numeric> L2,ArrayRef<Numeric> L2D,ArrayRef<Numeric> L2Bar,NumericRef i,NumericRef j,Numeric g_Times)
{
If(LBar[i]-LBar[i+1]>1) //第一项是顶底
{
If(LBar[i+1]-LBar[i+2]>1) //转折
{
L2[j]=L1[i+1];
L2D[j]=L1[i+1];
L2Bar[j]=LBar[i+1];
j=j+1;
If(j>g_Times) { Return 1;}
g_Get_3HL(L2,L2D,L2Bar,i+1,j,g_Times) ;
}
Else g_Get_3HL(L2,L2D,L2Bar,i+1,j,g_Times) ; //中继或者复合转折
}
Else
{
If(LBar[i+1]-LBar[i+2]>1) //转折
{
L2[j]=L1[i+1];
L2D[j]=L1[i+1];
L2Bar[j]=LBar[i+1];
j=j+1;
If(j>g_Times)
{
Return 1;
}
g_Get_3HL(L2,L2D,L2Bar,i+1,j,g_Times) ;
}
Else g_Get_3HL(L2,L2D,L2Bar,i+1,j,g_Times) ; //中继或者复合转折
}
Events
OnBarOpen(ArrayRef<Integer> indexs)
{
Range[0:0]
{
Numeric i=0;
Numeric j=1;
g_Get_3HL(L2,L2D,L2Bar,i,j,3) ;
}
}
OnBar(ArrayRef<Integer> indexs)
{
//Commentary("J0="+text(Round(aK[aK_i],2))+" J1="+text(Round(aK[aK_i-2],2)));
}
谢谢
数组是不是越界 了