コード例 #1
0
        public PipeMovingAverage(int period, ExecutionDataflowBlockOptions dataflowBlockOptions)
        {
            _historyBuffer = new HistoryBuffer <T>(period);

            SetTransform(value =>
            {
                if (value == null)
                {
                    return(default(T));
                }
                _historyBuffer.Add(value);
                return(_historyBuffer.Avg());
            },
                         dataflowBlockOptions);
        }
コード例 #2
0
        public PipeStandardDeviation(int period, ExecutionDataflowBlockOptions dataflowBlockOptions)
        {
            _historyBuffer = new HistoryBuffer <T>(period);
            SetTransform(value =>
            {
                if (value == null)
                {
                    return(default(T));
                }

                _historyBuffer.Add(value);

                dynamic sum = _historyBuffer.Sum();

                if (sum == null)
                {
                    return(default(T));
                }

                return((T)((dynamic)Math.Sqrt((double)sum)));
            },
                         dataflowBlockOptions);
        }