//+----------------------------------------------------------+
//|                     CloseTrades.mq4                      |
//|               Copyright © 2015, David Currey             |
//+----------------------------------------------------------+
extern int StartingEquity = 0;
extern int ProfitTarget = 0;
extern int LossTarget = 0;
extern int StopTrading = 0;
int res;
//+--------------------------------------- ------------------+
//| start function                                           |
//+----------------------------------------------------------+
void start()
  {

  if (OrdersTotal() == 0) StopTrading = 0;

  if (StartingEquity > 0 && StopTrading == 0 &&
  (((AccountEquity() - StartingEquity) >= ProfitTarget) || 
  (StartingEquity - AccountEquity())>= LossTarget))
     {
     res=OrderSend(Symbol(),OP_BUYLIMIT,1,0.1,1,0,0,"",99999,0,Green);
     for(int i = OrdersTotal()-1; i >= 0; i--) 
         {
         if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
         if(OrderType() == OP_BUYLIMIT) StopTrading = 1;
         }
     }     

  if (StopTrading == 0) return;

  for (i = OrdersTotal()-1; i >= 0; i--) 
      {
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP) res = OrderDelete(OrderTicket());
      if ( OrderType() == OP_BUY)  res = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );
      if ( OrderType() == OP_SELL)  res = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red );
      }
  }
//+----------------------------------------------------------+
