CheckOpenLong

检查开多头仓位的条件。

virtual bool  CheckOpenLong()

返回值

true 如果交易操作已被执行, 否则 false。

注释

它检查开多头仓位的条件 (信号对象的 CheckOpenLong() 方法) 并在必要时开多头仓位 (OpenLong() 方法)。

实现

//+------------------------------------------------------------------+
//| 检查开多头仓位或挂单             |
//| 输入:  无。                                                     |
//| 输出: true-如果交易操作处理完毕, 否则 false。     |
//| 备注: 无。                                                     |
//+------------------------------------------------------------------+
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);
  }