what's wrong with these?

 
I change my EA from trailing-stop profit taking and add some fibo points prior to start trailing. But then EA won't trade at all. Please help me find my own mistake. Thank you.
void CheckForTrailing()
  {
   double highest = High[iHighest(Symbol(),PERIOD_H1,MODE_HIGH,p,0)];
   double lowest  = Low[iLowest(Symbol(),PERIOD_H1,MODE_LOW,p,0)];
   double p1u  = NormalizeDouble((OrderOpenPrice()-lowest)*0.618,4);
   double tpb1 = p1u*10000;
   double p1d  = NormalizeDouble((highest-OrderOpenPrice())*0.618,4);
   double tps1 = p1d*10000;
   double p2u  = NormalizeDouble((OrderOpenPrice()-lowest)*1,4);
   double tpb2 = p2u*10000;
   double p2d  = NormalizeDouble((highest-OrderOpenPrice())*1,4);
   double tps2 = p2d*10000;
   double p3u  = NormalizeDouble((OrderOpenPrice()-lowest)*1.618,4);
   double tpb3 = p3u*10000;
   double p3d  = NormalizeDouble((highest-OrderOpenPrice())*1.618,4);
   double tps3 = p3d*10000;
   double p4u  = NormalizeDouble((OrderOpenPrice()-lowest)*2.382,4);
   double tpb4 = p4u*10000;
   double p4d  = NormalizeDouble((highest-OrderOpenPrice())*2.382,4);
   double tps4 = p4d*10000;
   double p5u  = NormalizeDouble((OrderOpenPrice()-lowest)*3.236,4);
   double tpb5 = p5u*10000;
   double p5d  = NormalizeDouble((highest-OrderOpenPrice())*3.236,4);
   double tps5 = p5d*10000;
 
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)
         break;
      if(OrderMagicNumber()!=magic || OrderSymbol()!=Symbol())
         continue;
      if(OrderType()<=OP_SELL)
        {
         if(OrderType()==OP_BUY && Bid>OrderOpenPrice())
           {
            if((Bid>=OrderOpenPrice()+Point*tpb1) && (OrderStopLoss()!=OrderOpenPrice()))
              {
               OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb1,0,0,CLR_NONE);
               return(0);
              }
            if((Bid>=OrderOpenPrice()+Point*tpb2) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb1))
              {
               OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb2,0,0,CLR_NONE);
               return(0);
              }
            if((Bid>=OrderOpenPrice()+Point*tpb3) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb2))
              {
               OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb3,0,0,CLR_NONE);
               return(0);
              }
            if((Bid>=OrderOpenPrice()+Point*tpb4) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb3))
              {
               OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb4,0,0,CLR_NONE);
               return(0);
              }
            if((Bid>=OrderOpenPrice()+Point*tpb5) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb4))
              {
               OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb5,0,0,CLR_NONE);
               return(0);
              }
            if((Bid>=OrderOpenPrice()+Point*(tpb5+ts)) && (OrderStopLoss()+Point*ts<Bid))
              {
               OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*ts,0,0,CLR_NONE);
               return(0);
              }
           }
         else if(OrderType()==OP_SELL && Ask<OrderOpenPrice())
           {
            if((Ask<=OrderOpenPrice()-Point*tps1) && (OrderStopLoss()!=OrderOpenPrice()))
              {
               OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps1,0,0,CLR_NONE);
               return(0);
              }
            if((Ask<=OrderOpenPrice()-Point*tps2) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps1))
              {
               OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps2,0,0,CLR_NONE);
               return(0);
              }
            if((Ask<=OrderOpenPrice()-Point*tps3) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps2))
              {
               OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps3,0,0,CLR_NONE);
               return(0);
              }
            if((Ask<=OrderOpenPrice()-Point*tps4) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps3))
              {
               OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps4,0,0,CLR_NONE);
               return(0);
              }
            if((Ask<=OrderOpenPrice()-Point*tps5) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps4))
              {
               OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps5,0,0,CLR_NONE);
               return(0);
              }
            if((Ask<=OrderOpenPrice()-Point*(tps5-ts)) && (OrderStopLoss()-Point*ts>Ask))
              {
               OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*ts,0,0,CLR_NONE);
               return(0);
              }
           }
        }
     }
  }
 
Where's the OrderSend code??
 
BarrowBoy:
Where's the OrderSend code??
The OrderSend code is fine and implented as I have intended, that why I didn't put it in here. It's the Fibonacci point I put as a trailing step which failed. But it's okay now. I reverse the step from take point 5 down to take point 1 and it works. Although it seems MT4 couldn't handle all five, with two it works okay. More, and it started screwing.

But thanks for your attention.