extern int ordernumber;

/*
  Exit: Trailing 3 * ATR(20) stop-loss.
*/

int start()
{
  if(OrderSelect(ordernumber, SELECT_BY_TICKET) == true
     && OrderCloseTime() == 0)
    {
      switch(OrderType())
	{
	case OP_BUY:
	  if(OrderStopLoss() < Bid - 3 * iATR(Symbol(), 0, 20, 1))
	    {
	      OrderModify(OrderTicket(), OrderOpenPrice(), Bid - 3 * iATR(Symbol(), 0, 20, 1), 0, 0, Blue);
	    }
	case OP_SELL:
	  if(OrderStopLoss() > Ask + 3 * iATR(Symbol(), 0, 20, 1))
	    {
	      OrderModify(OrderTicket(), OrderOpenPrice(), Ask + 3 * iATR(Symbol(), 0, 20, 1), 0, 0, Red);
	    }
	}
    }
  else
    Print("OrderSelect has not been able to find the order ", ordernumber, ":", GetLastError());
  return(0);
}

