//+------------------------------------------------------------------+
//|                                                     loxotron.mq4 |
//|                      Copyright © 2006, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
int magic_number=1000;
double v=1;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   if(Symbol()!="EURUSD")
   {
      Print("Эксперт работает только на EURUSD");
      return(0);
   }
   int q=0;
   if(Hour()==0) 
   {
      q=quantity_lox(magic_number);
      double eur_jpy_day_open=iOpen("EURJPY",PERIOD_H1,1);
      double eur_jpy_day_close=iClose("EURJPY",PERIOD_H1,1);
      double usd_jpy_day_open=iOpen("USDJPY",PERIOD_H1,1);
      double usd_jpy_day_close=iClose("USDJPY",PERIOD_H1,1);
      if(usd_jpy_day_open>0) double eur_usd_day_open=eur_jpy_day_open/usd_jpy_day_open;
      if(usd_jpy_day_close>0) double eur_usd_day_close=eur_jpy_day_close/usd_jpy_day_close;
      if(q==0 && eur_usd_day_open>eur_usd_day_close) 
      {
         Print("Открываем ордер SELL_LOX");
         OrderSend("EURUSD",OP_SELL,v,Bid,5,0,0,"SELL_LOX",magic_number);
      }
      if(q==0 && eur_usd_day_open<eur_usd_day_close) 
      {
         Print("Открываем ордер BUY_LOX");
         OrderSend("EURUSD",OP_BUY,v,Ask,5,0,0,"BUY_LOX",magic_number);
      }
   
   }
   if(Hour()==23)
   {
      q=quantity_lox(magic_number);
      if(q>0) Close_order(magic_number);
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
//функция подсчёта количества открытых и отложенных ордеров, имеющих комментарий NAME
int quantity_lox(int MN)
{
   int ticket, count=0;
      
   for(ticket=0;ticket<OrdersTotal();ticket++)
   {//внутренний for
      if (OrderSelect(ticket,SELECT_BY_POS,MODE_TRADES)==false) break;
      else
      {//начало else
         if (OrderMagicNumber()==MN) 
         {
            count++;   
            
         }
 
      }//конец else
   }//внутренний for
   return(count);
}
 
int Close_order(int MN)
{
   int ticket;
   
   for(ticket=0;ticket<OrdersTotal();ticket++)
   {//внутренний for
      if (OrderSelect(ticket,SELECT_BY_POS,MODE_TRADES)==false) break;
      else
      {//начало else
         if (OrderMagicNumber()==MN) 
         {
   
            if(OrderType()==OP_SELL) {Print("Закрываем ордер SELL_LOX");OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5);}
            if(OrderType()==OP_BUY) {Print("Закрываем ордер BUY_LOX");OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5);}
         }
 
      }//конец else
   }//внутренний for
   return(0);
}