为什么获取的值异常

 

写法是这样的


//+------------------------------------------------------------------+

 int OnumberB()

  {

    double PRICE = 0;

    int   number = 0;

    for(int i=0; i<OrdersTotal(); i++)

       if(OrderSelect(i,SELECT_BY_POS))

          if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == 0){

             if(OrderComment()  ==  注释1 || OrderComment()  ==  注释2){

                if(PRICE == 0 || PRICE < OrderOpenPrice())

                 {

                   PRICE = OrderOpenPrice();

                   number= OrderTicket();

                 }

                 }

                 }

     return(number);           

  }


//+------------------------------------------------------------------+

 double OnumberBp()

  {

    double PRICE = 0;

    for(int i=0; i<OrdersTotal(); i++)

       if(OrderSelect(i,SELECT_BY_POS))

          if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == 0){

             if(OrderComment()  ==  注释1 || OrderComment()  ==  注释2){

                if(PRICE == 0 || PRICE < OrderOpenPrice())

                 {

                   PRICE = OrderOpenPrice();

                 }

                 }

                 }

     return(PRICE);           

  }


//+------------------------------------------------------------------+

 int TwonumberB()

  {

    double PRICE = 0;

    int  number = 0;

    for(int i=0; i<OrdersTotal(); i++)

       if(OrderSelect(i,SELECT_BY_POS))

          if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == 0)

           {

             if(OrderComment()  ==  注释1 || OrderComment()  ==  注释2)

              {

                if(PRICE == 0 || (PRICE < OrderOpenPrice() && OrderOpenPrice() < OnumberBp()))

                 {

                   PRICE = OrderOpenPrice();

                   number= OrderTicket();

                 }

              }

           }

     return(number);           

  }

//+------------------------------------------------------------------+

 double TwonumberBp()

  {

    double PRICE = 0;

    for(int i=0; i<OrdersTotal(); i++)

       if(OrderSelect(i,SELECT_BY_POS)){

          if(OrderSymbol() == Symbol()){

             if(OrderMagicNumber() == Magic){

                if(OrderType() == 0){

             if(OrderComment()  ==  注释1 || OrderComment()  ==  注释2){

                if(PRICE == 0 || (PRICE < OrderOpenPrice() && OrderOpenPrice() < OnumberBp()))

                 {

                   PRICE = OrderOpenPrice();

                 }

              }

           }

           }

           }

           }

     return(PRICE);           

  }

分别为,计算多头最高价订单,多头最高价,多头次高价订单,多头次高价

   现在就出现一个问题,要么计算的最高价订单,最高价,与次高价订单,以及次高价是同一个

要不又跳转成 OrderComment() 不是注释1 与注释2中的任意一个,而把其他的注释的计算进来了