public double GetMin(int index1, int index2) { TimeSeriesItem result = null; for (var i = index1; i <= index2; ++i) { var item = this.series[i] as TimeSeriesItem; result = result == null ? item : item.Value < result.Value ? item : result; } return(result?.Value ?? double.NaN); }
public virtual double GetMin(DateTime dateTime1, DateTime dateTime2) { TimeSeriesItem result = null; for (var i = 0; i < this.series.Count; ++i) { var item = this.series[i] as TimeSeriesItem; if (dateTime1 <= item.DateTime && item.DateTime <= dateTime2) { result = result == null ? item : item.Value < result.Value ? item : result; } } return(result?.Value ?? double.NaN); }
public void Add(DateTime dateTime, double value) { var item = new TimeSeriesItem(dateTime, value); this.max = this.max == null ? item : (this.max.Value < item.Value ? item : this.max); this.min = this.min == null ? item : (this.min.Value > item.Value ? item : this.min); this.series.Add(item); // Update the dependent indicators foreach (var indicator in Indicators.Where(i => i.AutoUpdate)) { indicator.Update((int)this.series.Count - 1); } }
public void Clear() { this.series.Clear(); this.min = this.max = null; this.dirty = true; }
public void Add(DateTime dateTime, double value) { var item = new TimeSeriesItem(dateTime, value); this.max = this.max == null ? item : (this.max.Value < item.Value ? item : this.max); this.min = this.min == null ? item : (this.min.Value > item.Value ? item : this.min); this.series.Add(item); // Update the dependent indicators foreach (var indicator in Indicators.Where(i => i.AutoUpdate)) indicator.Update((int)this.series.Count - 1); }
public TimeSeriesItem(TimeSeriesItem item) : this(item.DateTime, item.Value) { }