CheckOpenLong

롱 포지션을 오픈하기 위한 필요성과 조건을 확인합니다.

virtual bool  CheckOpenLong()

반환 값

거래 작업이 실행되었으면 true, 아니면 false.

참고

롱 포지션(시그널 객체의 CheckOpenLong() 메서드)를 오픈할 필요가 있는지 확인하고 조건이 충족될 경우 시그널 객체(OpenLong() 메서드)에서 설정한 파라미터로 오픈할 수 있습니다.

Implementation

//+------------------------------------------------------------------+
//| 롱 포지션 오픈 또는 리밋/스탑 주문 설정을 확인합니다             |
//| INPUT:  no.                                                      |
//| OUTPUT: 거래 작업이 진행된다면 true, 그렇지 않으면 false.      |
//| 비고: no.                                                      |
//+------------------------------------------------------------------+
bool CExpert::CheckOpenLong()
  {
   double   price=EMPTY_VALUE;
   double   sl=0.0;
   double   tp=0.0;
   datetime expiration=TimeCurrent();
//--- 롱 입력 작업을 위한 시그널을 확인합니다
   if(m_signal.CheckOpenLong(price,sl,tp,expiration))
     {
      if(!m_trade.SetOrderExpiration(expiration))
        {
         m_expiration=expiration;
        }
      return(OpenLong(price,sl,tp));
     }
//--- 작업 없이 반환합니다
   return(false);
  }