/// <summary> /// Инициализировать <see cref="DiPart"/>. /// </summary> protected DiPart() { _averageTrueRange = new AverageTrueRange(new WilderMovingAverage(), new TrueRange()); _movingAverage = new WilderMovingAverage(); Length = 5; }
/// <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="BollingerBands"/>. /// </summary> /// <param name="ma">Moving Average.</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="AverageTrueRange"/>. /// </summary> /// <param name="movingAverage">Moving Average.</param> /// <param name="trueRange">True range.</param> public AverageTrueRange(LengthIndicator <decimal> movingAverage, TrueRange trueRange) { if (movingAverage == null) { throw new ArgumentNullException(nameof(movingAverage)); } if (trueRange == null) { throw new ArgumentNullException(nameof(trueRange)); } MovingAverage = movingAverage; TrueRange = trueRange; }
/// <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> /// Initializes a new instance of the <see cref="AverageDirectionalIndex"/>. /// </summary> /// <param name="dx">Welles Wilder Directional Movement Index.</param> /// <param name="movingAverage">Moving Average.</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; }