#property copyright "Copyright © 2010, RobinMorajker"
#property link      "http://forum.mt5.com/member.php?u=1962"

//#property show_confirm

string Pair;
extern int    Slippage      = 5;     
extern bool CloseAndReverse = true;
extern bool ECN = true;
extern double Lots = 0.01;
extern int Takeprofit = 100;
extern int Stoploss = 100;
extern string Comment_Message = "";
extern int Magic = 55555;

int start()
{
bool   Result;
int    i,Pos,Error,Total,t;

Total=OrdersTotal();
Pair= Symbol();

if(Digits == 5)
{
   Takeprofit = Takeprofit * 10;
   Stoploss = Stoploss * 10;
}
  
  if(Total>0)
  {
     for(i=Total-1; i>=0; i--) 
     {  if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true) 
        {  Pos=OrderType();
           if(Pos==OP_SELL && OrderSymbol()==Pair)
              Result=OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, CLR_NONE);
              if(Result!=true) 
              {  Error=GetLastError(); //  Print("LastError = ",Error); 
                 }  else Error=0; 
        }
     }
  }
  if(CloseAndReverse == true)
  {
      if(ECN == true)
      {
         t = OrderSend(Pair,OP_BUY,Lots,Ask,Slippage,0,0,Comment_Message,Magic,0,Blue);
         if (t > 1){
         if (OrderSelect(t, SELECT_BY_TICKET))OrderModify(OrderTicket(),OrderOpenPrice(),Ask - Stoploss*Point,Ask + Takeprofit*Point,0,Red ); 
         else Print("OrderModify() ticket=",t," failed with error code ",GetLastError());
         }
         else Print("OrderSend ticket=",t," failed with error code ",GetLastError());         
      }
      else if (ECN == false)
      {
         t=OrderSend(Pair,OP_BUY,Lots,Ask,Slippage,Ask - Stoploss*Point,Ask + Takeprofit*Point,Comment_Message,Magic,0,Blue);
         if(t!=true)
         {
            Error=GetLastError(); //  Print("LastError = ",Error);
         }  else Error=0; 
      }
  }
  return(0);
}