close_open_trades

Author: Copyright 2014, MetaQuotes Software Corp.
Orders Execution
Checks for the total of open ordersIt Closes Orders by itself
0 Views
0 Downloads
0 Favorites
close_open_trades
//+------------------------------------------------------------------+
//|                                            close open trades.mq4 |
//|                        Copyright 2014, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
#property strict

extern int slippage=50;
extern color arrow_color=clrNONE;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   bool clue=false,clue_0=true,clue_1=true;

   int ticket[];
   int trade[];
   double lots[];

   int counter;
   int counter_1=0;
   int number=OrdersTotal();
   int number_1=0;

   if(number>0)
     {
      for(counter=0;counter<number;counter++)
        {
         clue=OrderSelect(counter,SELECT_BY_POS,MODE_TRADES);
         if(OrderCloseTime()==0)
            number_1++;
        }
      ArrayResize(ticket,number_1,0);
      ArrayResize(trade,number_1,0);
      ArrayResize(lots,number_1,0);


      for(counter=0;counter<number;counter++)
        {
         clue=OrderSelect(counter,SELECT_BY_POS,MODE_TRADES);
         if(OrderCloseTime()==0)
           {
            ticket[counter_1] = OrderTicket();
            trade[counter_1]  = OrderType();
            lots[counter_1]   =  OrderLots();
            counter_1++;
           }
        }
     }
   if(number_1>0)
      for(counter=0;counter<number_1;counter++)
        {
         if(trade[counter]==0)
            while(clue_0==true)
              {
               RefreshRates();
               clue=OrderClose(ticket[counter],lots[counter],Bid,slippage,arrow_color);
               if(clue==true)
                  clue_0=false;
              }
         if(trade[counter]==1)
            while(clue_1==true)
              {
               RefreshRates();
               clue=OrderClose(ticket[counter],lots[counter],Ask,slippage,arrow_color);
               if(clue==true)
                  clue_1=false;
              }
         clue=false;
         clue_0 = true;
         clue_1 = true;
        }
  }
//+------------------------------------------------------------------+

Comments