private void SetDefaults() { _selectedAggregationPriceChart = AggregationPriceChart.Count; _selectedCount = 1000; _selectedTimeFrame = 5; _selectedVolume = 1000; _selectedRange = 0.5; _selectedBrickSize = 0.5; }
private void UpdatePriceChart(AggregationPriceChart barStyle) { switch (barStyle) { case AggregationPriceChart.Count: PriceSeries = (IOhlcDataSeries <DateTime, double>)_priceData.AggregateByCount(_selectedCount); break; case AggregationPriceChart.Time: PriceSeries = (IOhlcDataSeries <DateTime, double>)_priceData.AggregateByTime(TimeSpan.FromMinutes(_selectedTimeFrame)); break; case AggregationPriceChart.Volume: PriceSeries = (IOhlcDataSeries <DateTime, double>)_priceData.AggregateByVolume(_ticks.Select(x => x.Volume.ToDouble()).ToList(), _selectedVolume); break; case AggregationPriceChart.Range: PriceSeries = (IOhlcDataSeries <DateTime, double>)_priceData.AggregateByRange(_selectedRange); break; case AggregationPriceChart.Renko: PriceSeries = (IOhlcDataSeries <DateTime, double>)_priceData.AggregateByRenko(_selectedBrickSize); break; } PriceSeries.SeriesName = "PriceData"; // Create a series for the 200 period SMA which will be plotted as a line chart Sma200Series = (IXyDataSeries <DateTime, double>)PriceSeries.ToMovingAverage(200); Sma200Series.SeriesName = "200 SMA"; // Create a series for the 50 period SMA which will be plotted as a line chart Sma50Series = (IXyDataSeries <DateTime, double>)PriceSeries.ToMovingAverage(50); Sma50Series.SeriesName = "50 SMA"; _priceSeries.InvalidateParentSurface(RangeMode.ZoomToFit); }