//+------------------------------------------------------------------+
//| 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