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);

  }