Профит открытых позиций в валюте депозита

Функция возвращает профит всех открытых позиций в валюте депозита с учётом комиссии и свопов.

Параметры:

_order_type — операция (-1 — любая позиция)

_magic — MagicNumber (-1 — любой магик)

 

//+----------------------------------------------------------------------------+
//|  Description:  суммарный профит открытых позиций в валюте депозита         |
//+----------------------------------------------------------------------------+
//|  Parameters:                                                               |
//|    _order_type - операция           (-1   - любая позиция)                 |
//|    _magic      - MagicNumber        (-1   - любой магик)                   |
//+----------------------------------------------------------------------------+
double ProfitOpenOrders(int _order_type = -1, 
                        int _magic = -1) 
{
  double _profitp = 0;
  int    i, 
         _ototal = OrdersTotal();
  for (i=0; i<_ototal; i++) 
  {
     if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) 
     {
       if ((OrderSymbol() == Symbol()) && (_order_type < 0 || OrderType() == _order_type)) 
       {
         if (OrderType() == OP_BUY || OrderType() == OP_SELL) 
         {
            if (_magic < 0 || OrderMagicNumber() == _magic) 
            {
              _profitp += OrderProfit()+OrderCommission()+OrderSwap();
           }
         }
       }
     }
  }
  return(_profitp);
}
//+----------------------------------------------------------------------------+

Written by 

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