Назад  Вперед

CloseAll

Выходит из рынка полностью или частично.

virtual bool  CloseAll(
   double    lot    // лот
   )

Параметры

lot

[in] Размер лота, на который нужно сократить позицию.

Возвращаемое значение

true - выполнена торговая операция, иначе - false.

Примечание

Закрывает полностью или частично позицию (вызов метода торгового объекта Sell(...) для длинной позиции, или Buy(...) для короткой позиции) и удаляет все ордеры (вызов метода DeleteOrders()).

Реализация

//+------------------------------------------------------------------+
//| Position close and orders delete                                 |
//| INPUT:  lot - volume for close.                                  |
//| OUTPUT: true-if trade operation processed, false otherwise.      |
//| REMARK: no.                                                      |
//+------------------------------------------------------------------+
bool CExpert::CloseAll(double lot)
  {
   bool result;
//--- check for close operations
   if(m_position.PositionType()==POSITION_TYPE_BUY) result=m_trade.Sell(lot,0,0,0);
   else                                     result=m_trade.Buy(lot,0,0,0);
   result|=DeleteOrders();
//---
   return(result);
  }