//+------------------------------------------------------------------+
//|                                                                  |
//|                                                                  |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015 "
#property link      "rko4kin@mail.ru"
#property version   "1.00"
#property strict
extern double Martin_mogitel=2.5;
extern int sliipage=5;
extern int sliping_milisekund=5000;
 double lott;
int tic,orders;
string comm;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {

   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
 
if(OrdersTotal()>orders)
{Sleep(sliping_milisekund);
bool bw,da=false;string symb;double profit=0,Lots;int Magik;string coment;double SL=0,TP=0;
////ищем какой символ полседнег ордера
for(int x5=0;x5<OrdersTotal();x5++)
{
bw=OrderSelect(x5,SELECT_BY_POS,MODE_TRADES);
if(bw)symb=OrderSymbol();SL=OrderStopLoss();TP=OrderTakeProfit();
}
//ищем по истории в минусе ли последний ореде//////////
for(int x5=0;x5<OrdersHistoryTotal();x5++)
{
bw=OrderSelect(x5,SELECT_BY_POS,MODE_HISTORY);
if(bw&&OrderSymbol()==symb&&OrderComment()!="123"){profit=OrderProfit()+OrderCommission()+OrderSwap();Lots=OrderLots();Magik=OrderMagicNumber();coment=OrderComment();

}

}
if(profit<0)da=true;else da=false;

if(da&&ordertip(symb)==0&&total_syb(symb)==1&&ord_coment(symb)!="123"){tic=OrderSend(symb,OP_BUY,NormalizeDouble(Lots*Martin_mogitel,2),MarketInfo(symb,MODE_ASK),sliipage,SL,TP,"123",Magik,0,Blue);}
if(da&&ordertip(symb)==1&&total_syb(symb)==1&&ord_coment(symb)!="123"){tic=OrderSend(symb,OP_SELL,NormalizeDouble(Lots*Martin_mogitel,2),MarketInfo(symb,MODE_BID),sliipage,SL,TP,"123",Magik,0,Red);}

//Sleep(sliping_milisekund);
}


  
  
  
  //  comm = "Symbol : " + Symbol() + "\n"+ "\n"+ "\n"; 
   // comm = comm + "order_buy()= " + DoubleToStr(order_buy(),0) + "\n";
  }
//+------------------------------------------------------------------+
int ordertip(string sy)
{bool bw;int k=-1;
for(int x5=0;x5<OrdersTotal();x5++)
{
bw=OrderSelect(x5,SELECT_BY_POS,MODE_TRADES);
if(bw&&OrderSymbol()==sy&&OrderType()==OP_BUY)k=0;
if(bw&&OrderSymbol()==sy&&OrderType()==OP_SELL)k=1;
}
return(k);
}

int total_bay_syb(string sy)
{bool bw;int k=0;
for(int x5=0;x5<OrdersTotal();x5++)
{
bw=OrderSelect(x5,SELECT_BY_POS,MODE_TRADES);
if(bw&&OrderSymbol()==sy&&OrderType()==OP_BUY)k++;
}
return(k);
}

int total_sell_syb(string sy)
{bool bw;int k=0;
for(int x5=0;x5<OrdersTotal();x5++)
{
bw=OrderSelect(x5,SELECT_BY_POS,MODE_TRADES);
if(bw&&OrderSymbol()==sy&&OrderType()==OP_SELL)k++;
}
return(k);
}

int total_syb(string sy)
{bool bw;int k=0;
for(int x5=0;x5<OrdersTotal();x5++)
{
bw=OrderSelect(x5,SELECT_BY_POS,MODE_TRADES);
if(bw&&OrderSymbol()==sy&&(OrderType()==OP_SELL||OrderType()==OP_BUY))k++;
}
return(k);
}

string ord_coment(string sy)
{bool bw;string k;
for(int x5=0;x5<OrdersTotal();x5++)
{
bw=OrderSelect(x5,SELECT_BY_POS,MODE_TRADES);
if(bw&&OrderSymbol()==sy&&(OrderType()==OP_SELL||OrderType()==OP_BUY))k=OrderComment();
}
return(k);
}