/// <summary> /// Создать <see cref="BollingerBands"/>. /// </summary> /// <param name="ma">Скользящая средняя.</param> public BollingerBands(LengthIndicator<decimal> ma) { InnerIndicators.Add(MovingAverage = ma); InnerIndicators.Add(UpBand = new BollingerBand(MovingAverage, _dev) { Name = "UpBand" }); InnerIndicators.Add(LowBand = new BollingerBand(MovingAverage, _dev) { Name = "LowBand" }); Width = 2; }
/// <summary> /// Initializes a new instance of the <see cref="Envelope"/>. /// </summary> public Envelope(LengthIndicator<decimal> ma) { InnerIndicators.Add(Middle = ma); InnerIndicators.Add(Upper = (LengthIndicator<decimal>)ma.Clone()); InnerIndicators.Add(Lower = (LengthIndicator<decimal>)ma.Clone()); Upper.Name = "Upper"; Lower.Name = "Lower"; }
/// <summary> /// Initializes a new instance of the <see cref="BollingerBand"/>. /// </summary> /// <param name="ma">Moving Average.</param> /// <param name="dev">Standard deviation.</param> public BollingerBand(LengthIndicator<decimal> ma, StandardDeviation dev) { if (ma == null) throw new ArgumentNullException(nameof(ma)); if (dev == null) throw new ArgumentNullException(nameof(dev)); _ma = ma; _dev = dev; }
/// <summary> /// Создать <see cref="AverageDirectionalIndex"/>. /// </summary> /// <param name="dx">Индекса направленного движения Welles Wilder.</param> /// <param name="movingAverage">Скользящая средняя.</param> public AverageDirectionalIndex(DirectionalIndex dx, LengthIndicator<decimal> movingAverage) { if (dx == null) throw new ArgumentNullException("dx"); if (movingAverage == null) throw new ArgumentNullException("movingAverage"); InnerIndicators.Add(Dx = dx); InnerIndicators.Add(MovingAverage = movingAverage); Mode = ComplexIndicatorModes.Sequence; }