public SignalAndValue Process(Candle candle)
        {
            var value = Macd.Process(candle);

            return(SignalMa.Process(new Candle
            {
                CloseBid = value.Value,
                IsComplete = candle.IsComplete
            }));
        }
        /// <summary>
        /// Обработать входное значение.
        /// </summary>
        /// <param name="input">Входное значение.</param>
        /// <returns>Результирующее значение.</returns>
        protected override IIndicatorValue OnProcess(IIndicatorValue input)
        {
            var macdValue   = Macd.Process(input);
            var signalValue = Macd.IsFormed ? SignalMa.Process(macdValue) : new DecimalIndicatorValue(this, 0);

            var value = new ComplexIndicatorValue(this);

            value.InnerValues.Add(Macd, input.SetValue(this, macdValue.GetValue <decimal>() - signalValue.GetValue <decimal>()));
            value.InnerValues.Add(SignalMa, signalValue);
            return(value);
        }