//+------------------------------------------------------------------+
//|                                                     ea_buy_t101  |
//+------------------------------------------------------------------+
//| For a basis the idea by trader101 is taken                       |
//| #property copyright "Copyright © 2008, Julius Figueroa"          |
//| #property link      "trader101@optonline.net"                    |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net/"

#include <WinUser32.mqh>
#include <stdlib.mqh>

extern double  Lot = 0.5;
extern int     MagicNumber=0;
extern string  TradeComment="";


//string smbl[8]={
//                 "EURUSD",
//                 "GBPUSD",
//                 "USDCAD",
//                 "USDCHF",
//                 "AUDUSD"
//                };

string smbl[27]={                
                  "EURCAD",
                  "EURCHF",
                  "EURJPY",
                  "EURDKK",
                  "EURHKD",
                  "GBPCAD",
                  "GBPCHF",
                  "GBPJPY",
                  "GBPDKK",
                  "GBPHKD",
                  "NZDCAD",
                  "NZDCHF",
                  "NZDJPY",
                  "NZDDKK",
                  "NZDHKD",
                  "AUDCAD",
                  "AUDCHF",
                  "AUDJPY",
                  "AUDDKK",
                  "AUDHKD",
                  "USDCAD",
                  "USDCHF",
                  "USDJPY",
                  "USDDKK",
                  "USDHKD"
                };                
int TradesSent=0;

//+------------------------------------------------------------------+
bool CheckIfTradeAlreadyExists(string symbol)
   {
      if (OrdersTotal()==0) return(false);
      for (int cc=0; cc<OrdersTotal();cc++)
      {
         OrderSelect(cc, SELECT_BY_POS);
         if (OrderSymbol()==symbol && 
             OrderMagicNumber()==MagicNumber) return(true);
      }
      return(false);
   
   }// end bool CheckTrendExists()

//+------------------------------------------------------------------+
bool Filter(string symbol)
{
   /*
   */
   return(true);
}
//+------------------------------------------------------------------+
int start()
{
   string title="Ñêðèïò";
   string msg="Îòêðûòü îðäåðà BUY ?    ";
   if (MessageBox(msg,title,MB_YESNO|MB_ICONQUESTION)!=IDYES) return;
   if (TradesSent==25) return(0);
   
   bool TradeExists, f;
   int ticket;
   TradesSent=0;
   for (int i=0; i<=25; i++)
   {
      string s=smbl[i];
      TradeExists = CheckIfTradeAlreadyExists(s);
      if (!TradeExists)
      {
         f = Filter(s);
         if (f)
         {
            ticket = OrderSend(s,OP_BUY, Lot, 
                               MarketInfo(s,MODE_ASK),
                               2, NULL, NULL, TradeComment,
                               MagicNumber, 0, CLR_NONE);
            if (ticket > -1) TradesSent++;
         }
      }
      else TradesSent++;
   }
   
   if (TradesSent==25)
      MessageBox("ea_buy_Looser: I have opened 25 buy. Close me.",
                 "Information");
   
   return(0);
  }
//+------------------------------------------------------------------+