Функции для ордеров и позиций MQL5

 

Коллеги, привет, надеюсь получить совет от опытных по поводу того, как оптимально создавать универсальные функции и методы в MQL5 при работе с отложками и рыночными позициями.

В MQL4 мы могли написать вот такую функцию. В нее аргументом можно было подсунуть и OP_BUY и OP_BUYSTOP.

//+------------------------------------------------------------------+
//| Суммарный лот
//+------------------------------------------------------------------+
double GetAllLot(int type)
  {
   double allLot = 0;

   for(int i = OrdersTotal()-1; i >= 0 ; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
        {
         if(OrderSymbol() == _Symbol && OrderMagicNumber() == Magic && OrderType() == type)
           {
            allLot += OrderLots();
           }
        }
     }

   return(allLot);
  }

Так вот как можно также красиво сделать на MQL5, не создавая отдельных циклов с использование OrdersTotal() и PositionsTotal() со всеми вытекающими? Подозреваю, что все-таки никак и просто набираем больше строк ручками. Но мало ли.

 
Nikita Chernyshov:

Коллеги, привет, надеюсь получить совет от опытных по поводу того, как оптимально создавать универсальные функции и методы в MQL5 при работе с отложками и рыночными позициями.

В MQL4 мы могли написать вот такую функцию. В нее аргументом можно было подсунуть и OP_BUY и OP_BUYSTOP.

Так вот как можно также красиво сделать на MQL5, не создавая отдельных циклов с использование OrdersTotal() и PositionsTotal() со всеми вытекающими? Подозреваю, что все-таки никак и просто набираем больше строк ручками. Но мало ли.

Почти тоже самое, только по ордерам отдельно, по позициям отдельно.