请教:怎样才能更好的为自己设置的信号排序

 
//一根k线的高点比前后两个k线高点都高 ,称之为短期高点。具备功能是(短期高点也可以像k线那样具备顺序,可以进行顺序的比较,比如短期高点>前期高点)
double shorthigh(double &shigh)
  {
   sj.getrates(rate,300); 
   bool bFind = true;
   int i=0;
   double shigh= rate[i].high;
   for( i=1; i<160; i++)
     {
      if(rate[i].high >= rate[i-1].high 
         && rate[i].high >= rate[i+1].high 
         && rate[i-1].low<rate[i].low )
        {
         return( shigh);
        }
      else
        {
         bFind = false; 
         break;
        }
     }     
  };



这个总是提示有错,请教各位老师,我应该怎么改这个函数,才能让函数的功能满足需求呢?谢谢