My Trail Stop is not working for the following type

 
Its work okay with EUR/USD which is 1.34261
Its work okay with USD/JPY which is 97.887
But it does not work with which is EUR/AUD 1.4204
  I added this line myself    
      if (MarketInfo(OrderSymbol(), MODE_POINT) == 0.0001) 
      {
      PointValue = 0.001;
      }


  double PointValue;
  for (int i = 0; i < OrdersTotal(); i++) 
  {
      OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
      //Calculate the point value in case there are extra digits in the quotes
      if (MarketInfo(OrderSymbol(), MODE_POINT) == 0.00001) 
      {
      PointValue = 0.0001;
      }
      if (MarketInfo(OrderSymbol(), MODE_POINT) == 0.0001) 
      {
      PointValue = 0.001;
      }
      if (MarketInfo(OrderSymbol(), MODE_POINT) == 0.001) 
      {
      PointValue = 0.01;
      }
      else
      {
      PointValue = MarketInfo(OrderSymbol(), MODE_POINT);
      }
      //Normalize trailing stop value to the point value
      double TSTP = TrailingStop * PointValue;
      

      if (OrderType() == OP_BUY)
      {
         if (Bid - OrderOpenPrice() > TSTP)
         {
            if (OrderStopLoss() < Bid - TSTP)
            {
               if (!OrderModify(OrderTicket(), OrderOpenPrice(), Bid - TSTP, OrderTakeProfit(), Red))
                  Print("Error setting Buy trailing stop: ", GetLastError());
            }
         }
         else if ((OrderStopLoss() != Bid - StopLoss * PointValue) && (StopLoss != 0))
            if (!OrderModify(OrderTicket(), OrderOpenPrice(), Bid - StopLoss * PointValue, OrderTakeProfit(), Red))
               Print("Error setting Buy stop-loss: ", GetLastError());
      }
      else if (OrderType() == OP_SELL)
      {
         if (OrderOpenPrice() - Ask > TSTP)
         {
            if ((OrderStopLoss() > Ask + TSTP) || (OrderStopLoss() == 0))
            {
               if (!OrderModify(OrderTicket(), OrderOpenPrice(), Ask + TSTP, OrderTakeProfit(), Red))
                  Print("Error setting Sell trailing stop: ", GetLastError());
            }
         }
         else if ((OrderStopLoss() != Ask + StopLoss * PointValue) && (StopLoss != 0))
            if (!OrderModify(OrderTicket(), OrderOpenPrice(), Ask + StopLoss * PointValue, OrderTakeProfit(), Red))
               Print("Error setting Sell stop-loss: ", GetLastError());
      }
        }   
   
 
 
baokydev:
Use this thread: https://www.mql5.com/en/forum/147748 this thread will be deleted as an unnessary DOUBLE thread