Пт. Апр 19th, 2024

Функции подсчета ордеров в 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);
  }

Поделись с друзьями:

от drivermql

Добавить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.