MetaTrader 5 herunterladen

CloseAll

Geht aus dem Markt ganz oder teilweise.

virtual bool  CloseAll(
   double    lot    // Lot
   )

Parameter

lot

[in] Die Lotgröße, auf die Sie die Position reduzieren wollen.

Rückgabewert

Gibt true zurück wenn eine Operation ausgeführt ist, ansonsten gibt false zurück.

Bemerkung

Im Netting-Modus werden Positionen mithilfe der Methoden CExpertTrade::Buy und CExpertTrade::Sell geschlossen. Im Hedging-Modus - mithilfe der Methode CTrade::PositionClose, welche auch für Konten mit dem Netting-Modus verwendet werden kann. Für das Löschen aller Pending Orders wir die Methode DeleteOrders() verwendet.

Implementierung

//+------------------------------------------------------------------+
//| 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);
  }