CheckTrailingStopLong

检查已开多头持仓的尾随停止条件。

virtual bool  CheckTrailingStopLong()

返回值

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

注释

它检查已开多头持仓的尾随停止条件 (智能尾随对象的 CheckTrailingStopLong(...) 方法)。如果条件满足, 它修改持仓参数 (TrailingStopLong(...) 方法)。

实现

//+------------------------------------------------------------------+
//| 检查多头持仓的尾随止损/止盈                     |
//| 输入:  无。                                                     |
//| 输出: true-如果交易操作处理完毕, 否则 false。     |
//| 备注: 无。                                                     |
//+------------------------------------------------------------------+
bool CExpert::CheckTrailingStopLong()
  {
   double sl=EMPTY_VALUE;
   double tp=EMPTY_VALUE;
//--- 检查多头持仓的尾随停止操作
   if(m_trailing.CheckTrailingStopLong(GetPointer(m_position),sl,tp))
     {
      if(sl==EMPTY_VALUE) sl=m_position.StopLoss();
      if(tp==EMPTY_VALUE) tp=m_position.TakeProfit();
      //--- 多头持仓的尾随停止操作
      return(TrailingStopLong(sl,tp));
     }
//--- 返回无操作
   return(false);
  }