void UpdateYRange() { IEnumerable <QuoteRange> ranges = new QuoteRange[] { _quoteData.GetSymbolYRange(rs.LowerValue, rs.UpperValue, Binding) }; if (_comparisonSymbols != null) { var cssRange = from cs in _comparisonSymbols where cs.Value.Visibility == SeriesVisibility.Visible select cs.Value.DataSource.GetSymbolYRange(rs.LowerValue, rs.UpperValue, Binding); ranges = ranges.Union(cssRange); } if (ranges.Any()) { financialChart1.AxisX.Min = rs.LowerValue; financialChart1.AxisX.Max = rs.UpperValue; financialChart1.AxisY.Min = ranges.Min(p => p == null ? int.MaxValue : p.PriceMin); financialChart1.AxisY.Max = ranges.Max(p => p == null ? int.MinValue : p.PriceMax); if (ranges.First() != null) { vs.AxisY.Min = ranges.First().VolumeMin; vs.AxisY.Max = ranges.First().VolumeMax * 12; } } }