/// <summary>
 /// Constructor. </summary>
 /// <param name="series"> the time series </param>
 /// <param name="timeFrame"> the time frame (usually 22) </param>
 /// <param name="k"> the K multiplier for ATR (usually 3.0) </param>
 public ChandelierExitLongIndicator(TimeSeries series, int timeFrame, Decimal k) : base(series)
 {
     _high = new HighestValueIndicator(new MaxPriceIndicator(series), timeFrame);
     _atr  = new AverageTrueRangeIndicator(series, timeFrame);
     _k    = k;
 }
 public KeltnerChannelUpperIndicator(KeltnerChannelMiddleIndicator keltnerMiddleIndicator, Decimal ratio, int timeFrameAtr) : base(keltnerMiddleIndicator)
 {
     _ratio = ratio;
     _keltnerMiddleIndicator    = keltnerMiddleIndicator;
     _averageTrueRangeIndicator = new AverageTrueRangeIndicator(keltnerMiddleIndicator.TimeSeries, timeFrameAtr);
 }
 /// <summary>
 /// Constructor. </summary>
 /// <param name="series"> the time series </param>
 /// <param name="timeFrame"> the time frame (usually 22) </param>
 /// <param name="k"> the K multiplier for ATR (usually 3.0) </param>
 public ChandelierExitShortIndicator(TimeSeries series, int timeFrame, Decimal k) : base(series)
 {
     _low = new LowestValueIndicator(new MinPriceIndicator(series), timeFrame);
     _atr = new AverageTrueRangeIndicator(series, timeFrame);
     _k   = k;
 }