public AstExponentialMovingAverageWindowExpression Update(AstExpression arg, ExponentialMovingAverageWeighting weighting, AstWindow window)
        {
            if (arg == _arg && weighting == _weighting && window == _window)
            {
                return(this);
            }

            return(new AstExponentialMovingAverageWindowExpression(arg, weighting, window));
        }
 public AstExponentialMovingAverageWindowExpression(AstExpression arg, ExponentialMovingAverageWeighting weighting, AstWindow window)
 {
     _arg       = Ensure.IsNotNull(arg, nameof(arg));
     _weighting = Ensure.IsNotNull(weighting, nameof(weighting));
     _window    = window;
 }