CloseAll

Pozisyonların bir kısmını veya tamamını kapatır.

virtual bool  CloseAll(
   double    lot    // lot
   )

Parametreler

lot

[in] Pozisyonlardan azaltılacak lot sayısı.

Dönüş değeri

İşlem uygulanmışsa 'true', aksi durumda 'false'.

Not

Pozisyon kapama işlemi için "Netleştirme" modunda CExpertTrade::Buy veya CExpertTrade::Sell yöntemlerini, "Hedge'li" modda ise CTrade::PositionClose yöntemini kullanabilirsiniz (bu yöntem netleştirme modunda da kullanılabilir). DeleteOrders() yöntemiyle emirleri silebilirsiniz.

Uygulama

//+------------------------------------------------------------------+
//| Pozisyonları kapa ve emirleri sil                                |
//| INPUT:  lot - kapama hacmi.                                      |
//| OUTPUT: işlem gerçekleşmişse - true, aksi durumda - false.       |
//| REMARK: yok.                                                     |
//+------------------------------------------------------------------+
bool CExpert::CloseAll(double lot)
  {
   bool result;
//--- pozisyon kapama işlemlerini denetle
   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);
  }