请教代码问题

帮我分析下问题处在哪?原指标是cirlcecross,我修改后价格下跌没到转折点时也换列排序,这是不对的,cir1是对的,cir2,不对,错误代码如下:Params

   Numeric turnpointN(5);//转折点:minMove 的整数倍,可手工调整(1、2…)

   Numeric minpointN(2);  //最小区间:minMove 的整数倍,可手工调整(1、2…)

Vars

   plot plt;

   Array<Numeric> xdata;

   Array<Numeric> ydata;

   Global Array<Array<Numeric>> qx(0);

   Global Numeric k;

   Tick tickdata;

   Series<Numeric> flag;

   global Numeric baseprice;

   Global Numeric lastdatetime;

   Numeric i;

   Numeric j;

   Numeric n;

   Numeric tempprice;

   Numeric tempdatetime;

   Numeric turnpoint;//【新增】实际转折价差 = turnpointN*MinMove*PriceScale

   Numeric minpoint; //【新增】实际波动价差 = minpointN *MinMove*PriceScale

Events

   OnInit()

   {

       plt.figure();//独立画板

       plt.setOption("stretch-height",1);  //相对主图比例为1

         data[0].HideChart;

   }

   OnBar(ArrayRef<Integer> indexs)

   {

       //【新增】把"倍数设置"换算成实际价格幅度(minMove 的整数倍)

       turnpoint = turnpointN*MinMove*PriceScale;

       minpoint  = minpointN *MinMove*PriceScale;


       GetTick(tickdata,0);

       tempprice=IIF(Frequency=="tick",tickdata.last,Close);

       tempdatetime=IIF(Frequency=="tick",tickdata.datetime,date+time);

       if(BarStatus==0)

       {

           baseprice=tempprice;

           k=-1;

           flag=0;

           qx[0][0]=baseprice;

       }

       Else

       {

           if(lastdatetime<>tempdatetime)

           {

               if(flag<>-1 and tempprice<=baseprice-turnpoint)

               {

                   flag=-1;

                   k=k+1;

                   qx[0][k]=baseprice;

                   qx[1][k]=0;

               }

               if(flag<>1 and tempprice>=baseprice+turnpoint)

               {

                   flag=1;

                   k=k+1;

                   qx[0][k]=baseprice;

                   qx[1][k]=0;

               }

               if(flag==1)

               {

                   while(tempprice>=baseprice+minpoint)

                   {

                       qx[1][k]=qx[1][k]+1;

                       baseprice=baseprice+minpoint;

                       Commentary("baseprice="+text(baseprice));

                   }

               }

               Else if(flag==-1)

               {

                   while(tempprice<=baseprice-minpoint)

                   {

                       qx[1][k]=qx[1][k]-1;

                       baseprice=baseprice-minpoint;

                   }

               }

               lastdatetime=tempdatetime;

           }

       }

       PlotNumeric("baseprice",baseprice);

       if(BarStatus==2)

       {

           Commentary(TextArray(qx));

           for i=0 to GetArraySize(qx[0])-1

           {

               n=qx[1][i];

               for j=1 to abs(n)

               {

                   xdata[0]=(i+1)*10;

                   ydata[0]=qx[0][i]+j*n/abs(n)*minpoint;

                   if(n>0)

                       plt.icon(Text(j),xData[0],yData[0],"ICO14");

                   Else

                       plt.icon(Text(j),xData[0],yData[0],"lvyuan");

               }

           }

       }

   }

新手请教代码问题
请教代码问题
请教代码问题
请教代码问题
请教代码问题
代码问题请教
请教老师该代码哪里有问题
请教各位代码问题
新手请教代码老师回测问题
请教一个代码问题