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

  }