//+------------------------------------------------------------------+
//|                                     Keepyoureysoffmystoploss.mq4 |
//|                     Copyright © 2007, Damian(Sleepless) Burrowes |
//|                                       damian.burrowes@talk21.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, Damian(Sleepless) Burrowes"
#property link      "damian.burrowes@talk21.com"

double takeprofit;
double stoploss;
int openposs = 0;
double slowma;

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----


takeprofit = ObjectGet("tp", OBJPROP_PRICE1);
stoploss = ObjectGet("sl", OBJPROP_PRICE1);
Print("takeprofit = ",takeprofit);
Print("stoploss = ",stoploss);


openposs = OrdersTotal();

stops();
//----
   return(0);
  }
//+------------------------------------------------------------------+
void stops()
{

  for(int pos=0;pos<openposs;pos++)
   {   
           if(OrderSelect(pos,SELECT_BY_POS)==false) continue;

   if(OrderType() == OP_BUY)
    {
          
      
      if(MarketInfo(Symbol(), MODE_ASK) > takeprofit && takeprofit > 0) 
         {
         OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(), MODE_BID),3,Blue);
         ObjectDelete("sl");
         ObjectDelete("tp");

         }
    
      if(MarketInfo(Symbol(), MODE_BID) < stoploss && stoploss > 0)
         {
         OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(), MODE_BID),3,Blue);
         ObjectDelete("sl");
         ObjectDelete("tp");

         }
    
     
    }
         
//---------------------------------------------------------------------------------

   if(OrderType() == OP_SELL)
    {
      
       if(MarketInfo(Symbol(), MODE_BID) < takeprofit && takeprofit > 0) 
         {
         OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(), MODE_ASK),3,Blue);
         ObjectDelete("sl");
         ObjectDelete("tp");

         }
    
         if(MarketInfo(Symbol(), MODE_ASK) > stoploss && stoploss > 0)
         {
         OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(), MODE_ASK),3,Blue);
         ObjectDelete("sl");
         ObjectDelete("tp");

         }
    }
    
 
    }
 return(0);
}

//+------------------------------------------------------------------+

