Функция возвращает профит всех открытых позиций в пунктах.
Параметры:
_order_type — операция (-1 — любая позиция)
_magic — MagicNumber (-1 — любой магик)
//+----------------------------------------------------------------------------+ //| Description: суммарный профит открытых позиций в пунктах | //+----------------------------------------------------------------------------+ //| Parameters: | //| _order_type - операция (-1 - любая позиция) | //| _magic - MagicNumber (-1 - любой магик) | //+----------------------------------------------------------------------------+ int ProfitPips(int _order_type=-1, int _magic=-1) { double _point; int i, _ototal = OrdersTotal(), _profit=0; for (i = 0; i < _ototal; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if ((OrderSymbol() == Symbol()) && (_order_type < 0 || OrderType() == _order_type)) { if (_magic < 0 || OrderMagicNumber() == _magic) { _point = MarketInfo(OrderSymbol(), MODE_POINT); if (_point == 0) { if (StringFind(OrderSymbol(), "JPY") < 0) _point = 0.0001; else _point = 0.01; } if (OrderType() == OP_BUY) { _profit += int((MarketInfo(OrderSymbol(), MODE_BID) - OrderOpenPrice())/_point); } if (OrderType()==OP_SELL) { _profit += int((OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_ASK))/_point); } } } } } return(_profit); } //+----------------------------------------------------------------------------+