#property copyright "Graf"
#property link "http://www.pro-fx.biz"
int init()
{
return(0);
}
int deinit()
{
return(0);
}
//Кол-во отложенных на Бай
int ordercountBUY()
{
string To,Tn;
int cnt,col;
col=0;
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
To = OrderSymbol();
if ((To==Symbol()) && ((OrderType()==OP_BUYSTOP) || (OrderType()==OP_BUYLIMIT))) col=col+1;
}
return(col);
}
//Кол-во отложенных на Селл
int ordercountSELL()
{
string To,Tn;
int cnt, col;
col=0;
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
To = OrderSymbol();
if ((To==Symbol()) && ((OrderType()==OP_SELLSTOP) || (OrderType()==OP_SELLLIMIT))) col=col+1;
}
return(col);
}
// ------------------------------- Кол-во открытых на бай
int countBUY()
{
string To;
int cnt,col;
col=0;
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,0);
To = OrderSymbol();
if ((To==Symbol()) && (OrderType()==OP_BUY)) col=col+1;
}
return(col);
}
// ----------------------------- Кол-во открытых на Селл
int countSELL()
{
string To,Tn;
int cnt, col;
col=0;
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
To = OrderSymbol();
if ((To==Symbol()) && (OrderType()==OP_SELL)) col=col+1;
}
return(col);
}
//Отмена отложенных
int CloseAll()
{
int cnt;
bool n3,n4,rez;
rez=true;
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if ((OrderSymbol()==Symbol()) && (OrderType()==OP_BUYSTOP)) OrderDelete( OrderTicket(), 0);
if ((OrderSymbol()==Symbol()) && (OrderType()==OP_SELLSTOP)) OrderDelete( OrderTicket(), 0);
if ((OrderSymbol()==Symbol()) && (OrderType()==OP_BUYLIMIT)) OrderDelete( OrderTicket(), 0);
if ((OrderSymbol()==Symbol()) && (OrderType()==OP_SELLLIMIT)) OrderDelete( OrderTicket(), 0);
}
return(rez);
}
//Возвращает общий профит
double AllProfit()
{
string To;
int cnt;
double prof=0;
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
To = OrderSymbol();
if ( (To==Symbol()) && (OrderType()==OP_SELL) ) prof=prof+OrderProfit()+OrderSwap();
if ( (To==Symbol()) && (OrderType()==OP_BUY) ) prof=prof+OrderProfit()+OrderSwap();
}
return(prof);
}
int start()
{
if ( (countSELL()==1) && (ordercountBUY()==1) ) CloseAll();
if ( (ordercountSELL()==1) && (countBUY()==1) ) CloseAll();
Comment("BUY = "+countBUY()+"n"+"SELL = "+countSELL()+"n"+
"BUY LIMIT = "+ordercountBUY()+"n"+"SELL LIMIT = "+ordercountSELL()+"n"+Symbol()+" = "+AllProfit());
return(0);
}
//+------------------------------------------------------------------+