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); }
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); }