CheckClose

Pozisyon kapama koşullarını denetler.

virtual bool  CheckClose()

Dönüş değeri

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

Not

  1. Uzman Danışmanın Stop Out (piyasadan çıkış) koşullarını denetler (para yönetimi nesnesinin metodu CheckClose() çağrısı yapar). Koşul sağlanıyorsa pozisyonu kapatır ve tüm emirleri siler (CloseAll(...)) ve çıkar.
  2. Kısa ve uzun, her iki durum için de koşul denetimi yapar (CheckCloseLong() ve CheckCloseShort() yöntemleri) ve eğer pozisyon kapatılmışsa tüm emirleri siler (DeleteOrders() yöntemi).

Uygulama

//+------------------------------------------------------------------+
//| Pozisyon kapanması ve limit/stop emirlerinin silinmesini denetle |
//| INPUT:  yok.                                                     |
//| OUTPUT: işlem gerçekleşmişse - true, aksi durumda - false.       |
//| REMARK: yok.                                                     |
//+------------------------------------------------------------------+
bool CExpert::CheckClose()
  {
   double lot;
//--- pozisyon, çağrıdan önce seçilmeli
   if((lot=m_money.CheckClose(GetPointer(m_position)))!=0.0)
      return(CloseAll(lot));
//--- pozisyon tipini kontrol et
   if(m_position.PositionType()==POSITION_TYPE_BUY)
     {
      //--- uzun pozisyon kapama / bekleyen alış emirlerini silme koşullarını denetle
      if(CheckCloseLong())
        {
         DeleteOrders();
         return(true);
        }
     }
   else
     {
      //--- kısa pozisyon kapama / bekleyen satış emirlerini silme koşullarını denetle
      if(CheckCloseShort())
        {
         DeleteOrders();
         return(true);
        }
     }
//--- işlemsiz dönüş yap
   return(false);
  }