public override DataSeries Create(int n) { HighLowOpenCloseSeries ds = new HighLowOpenCloseSeries(); Update(ds, n); return(ds); }
void NewData(object sender, RoutedEventArgs args) { int n = 20; // price series HighLowOpenCloseSeries hloc = (HighLowOpenCloseSeries)chart.Data.Children[0]; // volume series XYDataSeries xyds = (XYDataSeries)chart.Data.Children[1]; DateTime[] x = new DateTime[n]; double[] hi = new double[n]; double[] lo = new double[n]; double[] op = new double[n]; double[] cl = new double[n]; double[] vals = new double[n]; DateTime dt = DateTime.Today; for (int i = 0; i < n; i++) { x[i] = dt.AddDays(i); if (i > 0) { op[i] = cl[i - 1]; } else { op[i] = 1000; } hi[i] = op[i] + rnd.Next(50); lo[i] = op[i] - rnd.Next(50); cl[i] = rnd.Next((int)lo[i], (int)hi[i]); vals[i] = rnd.Next(200); } hloc.ChartType = Price.SelectedIndex == 0 ? ChartType.HighLowOpenClose : ChartType.Candle; hloc.XValuesSource = x; hloc.ValuesSource = hi; hloc.HighValuesSource = hi; hloc.LowValuesSource = lo; hloc.OpenValuesSource = op; hloc.CloseValuesSource = cl; xyds.ChartType = Vol.SelectedIndex == 0 ? ChartType.Column : ChartType.Area; xyds.XValuesSource = x; xyds.ValuesSource = vals; chart.View.AxisX.Min = DateTime.Today.AddDays(-1).ToOADate(); chart.View.AxisX.Max = DateTime.Today.AddDays(20).ToOADate(); }
private void Price_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e) { if (chart != null) { HighLowOpenCloseSeries ds = (HighLowOpenCloseSeries)chart.Data.Children[0]; if (Price.SelectedIndex == 0) { ds.ChartType = ChartType.HighLowOpenClose; } else { ds.ChartType = ChartType.Candle; } } }
public override void Update(DataSeries ads, int n) { HighLowOpenCloseSeries ds = (HighLowOpenCloseSeries)ads; DateTime[] x = new DateTime[n]; double[] hi = new double[n]; double[] lo = new double[n]; double[] op = new double[n]; double[] cl = new double[n]; DateTime dt = DateTime.Today; for (int i = 0; i < n; i++) { x[i] = dt.AddDays(i); if (i > 0) { op[i] = cl[i - 1]; } else { op[i] = 1000; } hi[i] = op[i] + rnd.Next(50); lo[i] = op[i] - rnd.Next(50); cl[i] = rnd.Next((int)lo[i], (int)hi[i]); } ds.XValuesSource = x; ds.ValuesSource = hi; ds.HighValuesSource = hi; ds.LowValuesSource = lo; ds.OpenValuesSource = op; ds.CloseValuesSource = cl; }
public override DataSeries Create(int n) { HighLowOpenCloseSeries ds = new HighLowOpenCloseSeries(); Update(ds, n); return ds; }