CloseAll

Ferme une partie ou toutes les positions.

virtual bool  CloseAll(
   double    lot    // lot
   )

Paramètres

lot

[in] Nombre de lots pour réduire la position.

Valeur de retour

vrai si l'opération a été éxécutée, sinon faux.

Note

Dans le mode "netting", une position est fermée avec les méthodes CExpertTrade::Buy ou CExpertTrade::Sell. Dans le mode "hedging", la méthode CTrade::PositionClose est utilisée, qui peut également être utilisée sur les comptes ayant le mode netting. La méthode DeleteOrders() est utilisée pour supprimer des ordres.

Implémentation

//+------------------------------------------------------------------+
//| Clôture d'une position et suppression des ordres                |
//| ENTREE :  lot - volume à clôturer.                                |
//| SORTIE : vrai si l'opération a été réalisée avec succès, sinon faux. |
//| REMARQUE : aucune. |
//+------------------------------------------------------------------+
bool CExpert::CloseAll(double lot)
  {
   bool result;
//--- vérifie les opérations
   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);
  }