CheckOpenLong

Проверяет необходимость и возможность входа в рынок в длинную позицию.

virtual bool  CheckOpenLong()

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

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

Примечание

Проверяется необходимость входа в рынок в длинную позицию (вызов метода CheckOpenLong() объекта торговых сигналов) и если условие входа выполнено, входит в рынок с параметрами, установленными объектом торговых сигналов (вызов метода OpenLong()).

Реализация

//+------------------------------------------------------------------+
//| Check for long position open or limit/stop order set             |
//| INPUT:  no.                                                      |
//| OUTPUT: true-if trade operation processed, false otherwise.      |
//| REMARK: no.                                                      |
//+------------------------------------------------------------------+
bool CExpert::CheckOpenLong()
  {
   double   price=EMPTY_VALUE;
   double   sl=0.0;
   double   tp=0.0;
   datetime expiration=TimeCurrent();
//--- check signal for long enter operations
   if(m_signal.CheckOpenLong(price,sl,tp,expiration))
     {
      if(!m_trade.SetOrderExpiration(expiration))
        {
         m_expiration=expiration;
        }
      return(OpenLong(price,sl,tp));
     }
//--- return without operations
   return(false);
  }