Функции подсчета ордеров в mql4
Практически любой советник должен считать свои ордера, например, чтобы не открывать сотни позиций при одном сигнале. Я пользуюсь двумя функциями — одна считает бай-ордера, другая селл-ордера. Можно конечно сделать, чтобы ордера считались в одной функции с разделением по типу, но я уже привык к этим своим двум функциям.
//==========Считаем бай-ордера
int CountBuy()
{
int count=0;
for(int trade=OrdersTotal()-1;trade>=0; trade--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{
if(OrderType()==OP_BUY)
count++;
}
}
return(count);
}
//============== Считаем селл-ордера ===============
int CountSell()
{
int count=0;
for(int trade=OrdersTotal()-1;trade>=0; trade--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{
if(OrderType()==OP_SELL)
count++;
}
}
return(count);
}