//+------------------------------------------------------------------+
//|                                          Correlacion4bloques.mq4 |
//|                      Copyright © 2008, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, Heral"
#property link      "http://www.metaquotes.net"

extern double Lots = 0.05;
extern double TakeProfit = 10;
string B10,B11,B12,B13,B15,B16,B17,B18,S10,S11,S12,S13,S15,S16,S17,S18;
int init()
  {
   B10 = "0";
   B11 = "0";
   B12 = "0";
   B13 = "0";
   B15 = "0";
   B16 = "0";
   B17 = "0";
   B18 = "0";
   S10 = "0";
   S11 = "0";
   S12 = "0";
   S13 = "0";
   S15 = "0";
   S16 = "0";
   S17 = "0";
   S18 = "0";
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {

int i;
bool tradeado1,tradeado2,tradeado3,tradeado4;
double b1101,b2101,s1101,s2101,b1112,b2112,s1112,s2112,b1123,b2123,s1123,s2123,b1134,b2134,s1134,s2134,b1151,b2151,s1151,s2151,b1162,b2162,s1162,s2162,b1173,b2173,s1173,s2173,b1184,b2184,s1184,s2184;


   for(i=0;i<OrdersTotal();i++)
   {
      OrderSelect(i,SELECT_BY_POS);


//mañana

      if(OrderComment()== "B 10" && OrderSymbol() == "EURUSD")
      {
         b1101 = MarketInfo("EURUSD",MODE_BID)-OrderOpenPrice();
      }
      if(OrderComment()== "B 10" && OrderSymbol() == "USDCHF")
      {
         b2101 = MarketInfo("USDCHF",MODE_BID)-OrderOpenPrice();
      }
      if(OrderComment()== "S 10" && OrderSymbol() == "EURUSD")
      {
         s1101 = OrderOpenPrice()-MarketInfo("EURUSD",MODE_ASK);
      }
      if(OrderComment()== "S 10" && OrderSymbol() == "USDCHF")
      {
         s2101 = OrderOpenPrice()-MarketInfo("USDCHF",MODE_ASK);
      }


      if(OrderComment()== "B 11" && OrderSymbol() == "EURUSD")
      {
         b1112 = MarketInfo("EURUSD",MODE_BID)-OrderOpenPrice();
      }
      if(OrderComment()== "B 11" && OrderSymbol() == "USDCHF")
      {
         b2112 = MarketInfo("USDCHF",MODE_BID)-OrderOpenPrice();
      }
      if(OrderComment()== "S 11" && OrderSymbol() == "EURUSD")
      {
         s1112 = OrderOpenPrice()-MarketInfo("EURUSD",MODE_ASK);
      }
      if(OrderComment()== "S 11" && OrderSymbol() == "USDCHF")
      {
         s2112 = OrderOpenPrice()-MarketInfo("USDCHF",MODE_ASK);
      }


      if(OrderComment()== "B 12" && OrderSymbol() == "EURUSD")
      {
         b1123 = MarketInfo("EURUSD",MODE_BID)-OrderOpenPrice();
      }
      if(OrderComment()== "B 12" && OrderSymbol() == "USDCHF")
      {
         b2123 = MarketInfo("USDCHF",MODE_BID)-OrderOpenPrice();
      }
      if(OrderComment()== "S 12" && OrderSymbol() == "EURUSD")
      {
         s1123 = OrderOpenPrice()-MarketInfo("EURUSD",MODE_ASK);
      }
      if(OrderComment()== "S 12" && OrderSymbol() == "USDCHF")
      {
         s2123 = OrderOpenPrice()-MarketInfo("USDCHF",MODE_ASK);
      }
      
      
      if(OrderComment()== "B 13" && OrderSymbol() == "EURUSD")
      {
         b1134 = MarketInfo("EURUSD",MODE_BID)-OrderOpenPrice();
      }
      if(OrderComment()== "B 13" && OrderSymbol() == "USDCHF")
      {
         b2134 = MarketInfo("USDCHF",MODE_BID)-OrderOpenPrice();
      }
      if(OrderComment()== "S 13" && OrderSymbol() == "EURUSD")
      {
         s1134 = OrderOpenPrice()-MarketInfo("EURUSD",MODE_ASK);
      }
      if(OrderComment()== "S 13" && OrderSymbol() == "USDCHF")
      {
         s2134 = OrderOpenPrice()-MarketInfo("USDCHF",MODE_ASK);
      }


//tarde

      if(OrderComment()== "B 15" && OrderSymbol() == "EURUSD")
      {
         b1151 = MarketInfo("EURUSD",MODE_BID)-OrderOpenPrice();
      }
      if(OrderComment()== "B 15" && OrderSymbol() == "USDCHF")
      {
         b2151 = MarketInfo("USDCHF",MODE_BID)-OrderOpenPrice();
      }
      if(OrderComment()== "S 15" && OrderSymbol() == "EURUSD")
      {
         s1151 = OrderOpenPrice()-MarketInfo("EURUSD",MODE_ASK);
      }
      if(OrderComment()== "S 15" && OrderSymbol() == "USDCHF")
      {
         s2151 = OrderOpenPrice()-MarketInfo("USDCHF",MODE_ASK);
      }


      if(OrderComment()== "B 16" && OrderSymbol() == "EURUSD")
      {
         b1162 = MarketInfo("EURUSD",MODE_BID)-OrderOpenPrice();
      }
      if(OrderComment()== "B 16" && OrderSymbol() == "USDCHF")
      {
         b2162 = MarketInfo("USDCHF",MODE_BID)-OrderOpenPrice();
      }
      if(OrderComment()== "S 16" && OrderSymbol() == "EURUSD")
      {
         s1162 = OrderOpenPrice()-MarketInfo("EURUSD",MODE_ASK);
      }
      if(OrderComment()== "S 16" && OrderSymbol() == "USDCHF")
      {
         s2162 = OrderOpenPrice()-MarketInfo("USDCHF",MODE_ASK);
      }


      if(OrderComment()== "B 17" && OrderSymbol() == "EURUSD")
      {
         b1173 = MarketInfo("EURUSD",MODE_BID)-OrderOpenPrice();
      }
      if(OrderComment()== "B 17" && OrderSymbol() == "USDCHF")
      {
         b2173 = MarketInfo("USDCHF",MODE_BID)-OrderOpenPrice();
      }
      if(OrderComment()== "S 17" && OrderSymbol() == "EURUSD")
      {
         s1173 = OrderOpenPrice()-MarketInfo("EURUSD",MODE_ASK);
      }
      if(OrderComment()== "S 17" && OrderSymbol() == "USDCHF")
      {
         s2173 = OrderOpenPrice()-MarketInfo("USDCHF",MODE_ASK);
      }
      
      
      if(OrderComment()== "B 18" && OrderSymbol() == "EURUSD")
      {
         b1184 = MarketInfo("EURUSD",MODE_BID)-OrderOpenPrice();
      }
      if(OrderComment()== "B 18" && OrderSymbol() == "USDCHF")
      {
         b2184 = MarketInfo("USDCHF",MODE_BID)-OrderOpenPrice();
      }
      if(OrderComment()== "S 18" && OrderSymbol() == "EURUSD")
      {
         s1184 = OrderOpenPrice()-MarketInfo("EURUSD",MODE_ASK);
      }
      if(OrderComment()== "S 18" && OrderSymbol() == "USDCHF")
      {
         s2184 = OrderOpenPrice()-MarketInfo("USDCHF",MODE_ASK);
      }
      
   }


//mañana

if(Hour()==10 && Minute() < 5)
{
   tradeado1 = false;
   for(i=0;i<OrdersTotal();i++)
   {
      OrderSelect(i,SELECT_BY_POS);
      if(OrderComment() == "B 10" || OrderComment() == "S 10") tradeado1 = true;
   }
   if(tradeado1 == false)
   {
      OrderSend("EURUSD",OP_BUY,Lots,MarketInfo("EURUSD",MODE_ASK),0,0,0,"B 10",0,0,CLR_NONE);
      OrderSend("USDCHF",OP_BUY,Lots,MarketInfo("USDCHF",MODE_ASK),0,0,0,"B 10",0,0,CLR_NONE);
      OrderSend("EURUSD",OP_SELL,Lots,MarketInfo("EURUSD",MODE_BID),0,0,0,"S 10",0,0,CLR_NONE);
      OrderSend("USDCHF",OP_SELL,Lots,MarketInfo("USDCHF",MODE_BID),0,0,0,"S 10",0,0,CLR_NONE);
   }
}

if(Hour()==11 && Minute() < 5)
{

   tradeado2 = false;
   for(i=0;i<OrdersTotal();i++)
   {
      OrderSelect(i,SELECT_BY_POS);
      if(OrderComment() == "B 11" || OrderComment() == "S 11") tradeado2 = true;
   }
   if(tradeado2 == false)
   {
      OrderSend("EURUSD",OP_BUY,Lots,MarketInfo("EURUSD",MODE_ASK),0,0,0,"B 11",0,0,CLR_NONE);
      OrderSend("USDCHF",OP_BUY,Lots,MarketInfo("USDCHF",MODE_ASK),0,0,0,"B 11",0,0,CLR_NONE);
      OrderSend("EURUSD",OP_SELL,Lots,MarketInfo("EURUSD",MODE_BID),0,0,0,"S 11",0,0,CLR_NONE);
      OrderSend("USDCHF",OP_SELL,Lots,MarketInfo("USDCHF",MODE_BID),0,0,0,"S 11",0,0,CLR_NONE);
   }
}

if(Hour()==12 && Minute() < 5)
{

   tradeado3 = false;
   for(i=0;i<OrdersTotal();i++)
   {
      OrderSelect(i,SELECT_BY_POS);
      if(OrderComment() == "B 12" || OrderComment() == "S 12") tradeado3 = true;
   }
   if(tradeado3 == false)
   {
      OrderSend("EURUSD",OP_BUY,Lots,MarketInfo("EURUSD",MODE_ASK),0,0,0,"B 12",0,0,CLR_NONE);
      OrderSend("USDCHF",OP_BUY,Lots,MarketInfo("USDCHF",MODE_ASK),0,0,0,"B 12",0,0,CLR_NONE);
      OrderSend("EURUSD",OP_SELL,Lots,MarketInfo("EURUSD",MODE_BID),0,0,0,"S 12",0,0,CLR_NONE);
      OrderSend("USDCHF",OP_SELL,Lots,MarketInfo("USDCHF",MODE_BID),0,0,0,"S 12",0,0,CLR_NONE);
   }
}

if(Hour()==13 && Minute() < 5)
{
   tradeado4 = false;
   for(i=0;i<OrdersTotal();i++)
   {
      OrderSelect(i,SELECT_BY_POS);
      if(OrderComment() == "B 13" || OrderComment() == "S 13") tradeado4 = true;
   }
   if(tradeado4 == false)
   {
      OrderSend("EURUSD",OP_BUY,Lots,MarketInfo("EURUSD",MODE_ASK),0,0,0,"B 13",0,0,CLR_NONE);
      OrderSend("USDCHF",OP_BUY,Lots,MarketInfo("USDCHF",MODE_ASK),0,0,0,"B 13",0,0,CLR_NONE);
      OrderSend("EURUSD",OP_SELL,Lots,MarketInfo("EURUSD",MODE_BID),0,0,0,"S 13",0,0,CLR_NONE);
      OrderSend("USDCHF",OP_SELL,Lots,MarketInfo("USDCHF",MODE_BID),0,0,0,"S 13",0,0,CLR_NONE);
   }
}


//tarde

if(Hour()==15 && Minute() < 5 && 1==1)
{
   tradeado1 = false;
   for(i=0;i<OrdersTotal();i++)
   {
      OrderSelect(i,SELECT_BY_POS);
      if(OrderComment() == "B 15" || OrderComment() == "S 15") tradeado1 = true;
   }
   if(tradeado1 == false)
   {
      OrderSend("EURUSD",OP_BUY,Lots,MarketInfo("EURUSD",MODE_ASK),0,0,0,"B 15",0,0,CLR_NONE);
      OrderSend("USDCHF",OP_BUY,Lots,MarketInfo("USDCHF",MODE_ASK),0,0,0,"B 15",0,0,CLR_NONE);
      OrderSend("EURUSD",OP_SELL,Lots,MarketInfo("EURUSD",MODE_BID),0,0,0,"S 15",0,0,CLR_NONE);
      OrderSend("USDCHF",OP_SELL,Lots,MarketInfo("USDCHF",MODE_BID),0,0,0,"S 15",0,0,CLR_NONE);
   }
}

if(Hour()==16 && Minute() < 5 && 1==1)
{

   tradeado2 = false;
   for(i=0;i<OrdersTotal();i++)
   {
      OrderSelect(i,SELECT_BY_POS);
      if(OrderComment() == "B 16" || OrderComment() == "S 16") tradeado2 = true;
   }
   if(tradeado2 == false)
   {
      OrderSend("EURUSD",OP_BUY,Lots,MarketInfo("EURUSD",MODE_ASK),0,0,0,"B 16",0,0,CLR_NONE);
      OrderSend("USDCHF",OP_BUY,Lots,MarketInfo("USDCHF",MODE_ASK),0,0,0,"B 16",0,0,CLR_NONE);
      OrderSend("EURUSD",OP_SELL,Lots,MarketInfo("EURUSD",MODE_BID),0,0,0,"S 16",0,0,CLR_NONE);
      OrderSend("USDCHF",OP_SELL,Lots,MarketInfo("USDCHF",MODE_BID),0,0,0,"S 16",0,0,CLR_NONE);
   }
}

if(Hour()==17 && Minute() < 5 && 1==0)
{

   tradeado3 = false;
   for(i=0;i<OrdersTotal();i++)
   {
      OrderSelect(i,SELECT_BY_POS);
      if(OrderComment() == "B 17" || OrderComment() == "S 17") tradeado3 = true;
   }
   if(tradeado3 == false)
   {
      OrderSend("EURUSD",OP_BUY,Lots,MarketInfo("EURUSD",MODE_ASK),0,0,0,"B 17",0,0,CLR_NONE);
      OrderSend("USDCHF",OP_BUY,Lots,MarketInfo("USDCHF",MODE_ASK),0,0,0,"B 17",0,0,CLR_NONE);
      OrderSend("EURUSD",OP_SELL,Lots,MarketInfo("EURUSD",MODE_BID),0,0,0,"S 17",0,0,CLR_NONE);
      OrderSend("USDCHF",OP_SELL,Lots,MarketInfo("USDCHF",MODE_BID),0,0,0,"S 17",0,0,CLR_NONE);
   }
}

if(Hour()==18 && Minute() < 5 && 1==0)
{

   tradeado4 = false;
   for(i=0;i<OrdersTotal();i++)
   {
      OrderSelect(i,SELECT_BY_POS);
      if(OrderComment() == "B 18" || OrderComment() == "S 18") tradeado4 = true;
   }
   if(tradeado4 == false)
   {
      OrderSend("EURUSD",OP_BUY,Lots,MarketInfo("EURUSD",MODE_ASK),0,0,0,"B 18",0,0,CLR_NONE);
      OrderSend("USDCHF",OP_BUY,Lots,MarketInfo("USDCHF",MODE_ASK),0,0,0,"B 18",0,0,CLR_NONE);
      OrderSend("EURUSD",OP_SELL,Lots,MarketInfo("EURUSD",MODE_BID),0,0,0,"S 18",0,0,CLR_NONE);
      OrderSend("USDCHF",OP_SELL,Lots,MarketInfo("USDCHF",MODE_BID),0,0,0,"S 18",0,0,CLR_NONE);
   }
}




   if((b1101+b2101)*10000>=TakeProfit) // looking for close 101
   {
      B10 = "cerrar";
   }
   if(B10 == "cerrar")
   {
      for(i=0;i<OrdersTotal();i++)
      {
         OrderSelect(i,SELECT_BY_POS);
         if(OrderComment() == "B 10") OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,CLR_NONE);
      }
   }
   
      
   if((s1101+s2101)*10000>=TakeProfit)
   {
      S10 = "cerrar";
   }
   if(S10 == "cerrar")
   { 
      for(i=0;i<OrdersTotal();i++)
      {
         OrderSelect(i,SELECT_BY_POS);
         if(OrderComment() == "S 10") OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,CLR_NONE);
      }
   }
   
   
   if((b1112+b2112)*10000>=TakeProfit) // looking for close 112
   {
      B11 = "cerrar";
   }
   if(B11 == "cerrar")
   {
      for(i=0;i<OrdersTotal();i++)
      {
         OrderSelect(i,SELECT_BY_POS);
         if(OrderComment() == "B 11") OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,CLR_NONE);
      }
   }
   
   
   if((s1112+s2112)*10000>=TakeProfit)
   {
      S11 = "cerrar";
   }
   if(S11 == "cerrar")
   {
      for(i=0;i<OrdersTotal();i++)
      {
         OrderSelect(i,SELECT_BY_POS);
         if(OrderComment() == "S 11") OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,CLR_NONE);
      }
   }
   
   
   if((b1123+b2123)*10000>=TakeProfit) // looking for close 123
   {
      B12 = "cerrar";
   }
   if(B12 == "cerrar")
   {
      for(i=0;i<OrdersTotal();i++)
      {
         OrderSelect(i,SELECT_BY_POS);
         if(OrderComment() == "B 12") OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,CLR_NONE);
      }
   }
   
   
   if((s1123+s2123)*10000>=TakeProfit)
   {
      S12 = "cerrar";
   }
   if(S12 == "cerrar")
   {
      for(i=0;i<OrdersTotal();i++)
      {
         OrderSelect(i,SELECT_BY_POS);
         if(OrderComment() == "S 12") OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,CLR_NONE);
      }
   }
   
   
   if((b1134+b2134)*10000>=TakeProfit) // looking for close 134
   {
      B13 = "cerrar";
   }
   if(B13 == "cerrar")
   {
      for(i=0;i<OrdersTotal();i++)
      {
         OrderSelect(i,SELECT_BY_POS);
         if(OrderComment() == "B 13") OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,CLR_NONE);
      }
   }
   
   
   if((s1134+s2134)*10000>=TakeProfit)
   {
      S13 = "cerrar";
   }
   if(S13 == "cerrar")
   {
      for(i=0;i<OrdersTotal();i++)
      {
         OrderSelect(i,SELECT_BY_POS);
         if(OrderComment() == "S 13") OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,CLR_NONE);
      }
   }
   
   
   if((b1151+b2151)*10000>TakeProfit) // looking for close 151
   {
      B15 = "cerrar";
   }
   if(B15 == "cerrar")
   {
      for(i=0;i<OrdersTotal();i++)
      {
         OrderSelect(i,SELECT_BY_POS);
         if(OrderComment() == "B 15") OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,CLR_NONE);
      }
   }
   
   
   if((s1151+s2151)*10000>TakeProfit)
   {
      S15 = "cerrar";
   }
   if(S15 == "cerrar")
   {
      for(i=0;i<OrdersTotal();i++)
      {
         OrderSelect(i,SELECT_BY_POS);
         if(OrderComment() == "S 15") OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,CLR_NONE);
      }
   }
   
   
   if((b1162+b2162)*10000>TakeProfit) // looking for close 162
   {
      B16 = "cerrar";
   }
   if(B16 == "cerrar")
   {
      for(i=0;i<OrdersTotal();i++)
      {
         OrderSelect(i,SELECT_BY_POS);
         if(OrderComment() == "B 16") OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,CLR_NONE);
      }
   }
   
   
   if((s1162+s2162)*10000>TakeProfit)
   {
      S16 = "cerrar";
   }
   if(S16 == "cerrar")
   {
      for(i=0;i<OrdersTotal();i++)
      {
         OrderSelect(i,SELECT_BY_POS);
         if(OrderComment() == "S 16") OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,CLR_NONE);
      }
   }
   
   
   if((b1173+b2173)*10000>TakeProfit) // looking for close 173
   {
      B17 = "cerrar";
   }
   if(B17 == "cerrar")
   {
      for(i=0;i<OrdersTotal();i++)
      {
         OrderSelect(i,SELECT_BY_POS);
         if(OrderComment() == "B 17") OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,CLR_NONE);
      }
   }
   
   
   if((s1173+s2173)*10000>TakeProfit)
   {
      S17 = "cerrar";
   }
   if(S17 == "cerrar")
   {
      for(i=0;i<OrdersTotal();i++)
      {
         OrderSelect(i,SELECT_BY_POS);
         if(OrderComment() == "S 17") OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,CLR_NONE);
      }
   }
   
   
   if((b1184+b2184)*10000>TakeProfit) // looking for close 184
   {
      B18 = "cerrar";
   }
   if(B18 == "cerrar")
   {
      for(i=0;i<OrdersTotal();i++)
      {
         OrderSelect(i,SELECT_BY_POS);
         if(OrderComment() == "B 18") OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,CLR_NONE);
      }
   }
   
   
   if((s1184+s2184)*10000>TakeProfit)
   {
      S18 = "cerrar";
   }
   if(S18 == "cerrar")
   {
      for(i=0;i<OrdersTotal();i++)
      {
         OrderSelect(i,SELECT_BY_POS);
         if(OrderComment() == "S 18") OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,CLR_NONE);
      }
   }



Comment("\n\n","Take Profit: ",TakeProfit,"\n",
        "B 10: ",b1101+b2101,"\n",
        "S 10: ",s1101+s2101,"\n",
        "B 11: ",b1112+b2112,"\n",
        "S 11: ",s1112+s2112,"\n",
        "B 12: ",b1123+b2123,"\n",
        "S 12: ",s1123+s2123,"\n",
        "B 13: ",b1134+b2134,"\n",
        "S 13: ",s1134+s2134,"\n",
        "B 15: ",b1151+b2151,"\n",
        "S 15: ",s1151+s2151,"\n",
        "B 16: ",b1162+b2162,"\n",
        "S 16: ",s1162+s2162,"\n",
        "B 17: ",b1173+b2173,"\n",
        "S 17: ",s1173+s2173,"\n",
        "B 18: ",b1184+b2184,"\n",
        "S 18: ",s1184+s2184);

   return(0);
  }
//+------------------------------------------------------------------+