вопрос в программировании

 
//Подскажите или поправьте. Хочу заменить 
//OrderOpenPrice() на 
//OrderTakeProfit()-TakeProfit*Point
//для функциии трейлингстопа. Это для ДЦ переоткрывающих позиции в 00:00.
//Неправильно меняет стоп (:
 
 
 if(OrderType() == OP_BUY) 
      { 
       if(Bid-OrderOpenPrice() > TrailingStop*Point && Bid-TrailingStop*Point-OrderStopLoss()  >= Point) 
         if(!OrderModify(OrderTicket(), 0, Bid-TrailingStop*Point, OrderTakeProfit(),0)) 
               Print("Модификация ордера Buy. Ошибка №", GetLastError());