The following when called will detect the number of open and pending orders.
Code:
int CountTrades()
{
int count=0;
int trade;
for(trade=OrdersTotal()-1;trade>=0;trade--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol()||OrderMagicNumber()!=MagicNumber)
continue;
if(OrderSymbol()==Symbol() && OrderMagicNumber()== MagicNumber)
{
if((OrderType()==OP_SELL) || (OrderType()==OP_SELLSTOP) || (OrderType()==OP_SELLLIMIT) ||
(OrderType()==OP_BUY) || (OrderType()==OP_BUYSTOP) || (OrderType()==OP_BUYLIMIT))
count++;
}
}//for
return(count);
}