private void DownFillStyleButton_Click(object sender, System.EventArgs e) { NFillStyle downFillStyleResult; NRenkoSeries renko = (NRenkoSeries)nChartControl1.Charts[0].Series[0]; if (NFillStyleTypeEditor.Edit(renko.DownFillStyle, out downFillStyleResult)) { renko.DownFillStyle = downFillStyleResult; nChartControl1.Refresh(); } }
private void DownBorderStyleButton_Click(object sender, System.EventArgs e) { NStrokeStyle strokeStyleResult; NRenkoSeries renko = (NRenkoSeries)nChartControl1.Charts[0].Series[0]; if (NStrokeStyleTypeEditor.Edit(renko.BorderStyle, out strokeStyleResult)) { renko.DownStrokeStyle = strokeStyleResult; nChartControl1.Refresh(); } }
/// <summary> /// Called to initialize the example /// </summary> /// <param name="chartControl"></param> public override void Create() { // remove all legends nChartControl1.Legends.Clear(); // set a chart title NLabel title = nChartControl1.Labels.AddHeader("Renko Chart"); title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, System.Drawing.FontStyle.Italic); title.TextStyle.FillStyle = new NColorFillStyle(GreyBlue); title.ContentAlignment = ContentAlignment.BottomCenter; title.Location = new NPointL(new NLength(50, NRelativeUnit.ParentPercentage), new NLength(2, NRelativeUnit.ParentPercentage)); NChart chart = nChartControl1.Charts[0]; // setup X axis NPriceScaleConfigurator priceConfigurator = new NPriceScaleConfigurator(); priceConfigurator.InnerMajorTickStyle.LineStyle.Width = new NLength(0); chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = priceConfigurator; // setup Y axis NLinearScaleConfigurator linearScale = (NLinearScaleConfigurator)chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator; NScaleStripStyle stripStyle = new NScaleStripStyle(new NColorFillStyle(Color.Beige), null, true, 0, 0, 1, 1); stripStyle.Interlaced = true; stripStyle.SetShowAtWall(ChartWallType.Back, true); linearScale.StripStyles.Add(stripStyle); // setup Renko series NRenkoSeries renko = (NRenkoSeries)chart.Series.Add(SeriesType.Renko); renko.UseXValues = true; GenerateData(renko); // apply layout ConfigureStandardLayout(chart, title, null); BoxSizeComboBox.Items.Add("0.5"); BoxSizeComboBox.Items.Add("1"); BoxSizeComboBox.Items.Add("2"); BoxSizeComboBox.Items.Add("2%"); BoxSizeComboBox.Items.Add("5%"); BoxSizeComboBox.Items.Add("10%"); BoxWidthPercentComboBox.Items.Add("50%"); BoxWidthPercentComboBox.Items.Add("75%"); BoxWidthPercentComboBox.Items.Add("100%"); BoxSizeComboBox.SelectedIndex = 1; BoxWidthPercentComboBox.SelectedIndex = 2; }
/// <summary> /// /// </summary> /// <param name="renkoSeries"></param> private void GenerateData(NRenkoSeries renkoSeries) { NStockDataGenerator dataGenerator = new NStockDataGenerator(new NRange(50, 350), 0.002, 2); dataGenerator.Reset(); DateTime dt = DateTime.Now; for (int i = 0; i < 100; i++) { renkoSeries.DataPoints.Add(new NRenkoDataPoint(NDateTimeHelpers.ToOADate(dt), dataGenerator.GetNextValue())); dt = dt.AddDays(1); } }
private void GenerateData(NRenkoSeries renko) { NStockDataGenerator dataGenerator = new NStockDataGenerator(new NRange1DD(50, 350), 0.02, 10); dataGenerator.Reset(); DateTime dt = new DateTime(2007, 1, 1); for (int i = 0; i < 20; i++) { renko.Values.Add(dataGenerator.GetNextValue()); renko.XValues.Add(dt); dt = dt.AddDays(1); } }
private void BoxWidthPercentCombo_SelectedIndexChanged(object sender, System.EventArgs e) { NRenkoSeries renko = (NRenkoSeries)nChartControl1.Charts[0].Series[0]; switch (BoxWidthPercentCombo.SelectedIndex) { case 0: renko.BoxWidthPercent = 50; break; case 1: renko.BoxWidthPercent = 75; break; case 2: renko.BoxWidthPercent = 100; break; } nChartControl1.Refresh(); }
private void BoxSizeCombo_SelectedIndexChanged(object sender, System.EventArgs e) { NRenkoSeries renko = (NRenkoSeries)nChartControl1.Charts[0].Series[0]; switch (BoxSizeCombo.SelectedIndex) { case 0: renko.BoxSize = 0.5; renko.BoxSizeInPercents = false; break; case 1: renko.BoxSize = 1; renko.BoxSizeInPercents = false; break; case 2: renko.BoxSize = 2; renko.BoxSizeInPercents = false; break; case 3: renko.BoxSize = 2; renko.BoxSizeInPercents = true; break; case 4: renko.BoxSize = 5; renko.BoxSizeInPercents = true; break; case 5: renko.BoxSize = 10; renko.BoxSizeInPercents = true; break; } nChartControl1.Refresh(); }
/// <summary> /// /// </summary> /// <returns></returns> protected override NWidget CreateExampleContent() { NChartView chartView = CreateCartesianChartView(); // configure title chartView.Surface.Titles[0].Text = "Renko"; // configure chart NCartesianChart chart = (NCartesianChart)chartView.Surface.Charts[0]; chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.XYLinear); NLinearScale scaleY = (NLinearScale)chart.Axes[ENCartesianAxis.PrimaryY].Scale; // add interlace stripe NScaleStrip stripStyle = new NScaleStrip(new NColorFill(NColor.Beige), null, true, 0, 0, 1, 1); stripStyle.Interlaced = true; scaleY.Strips.Add(stripStyle); // setup X axis NPriceTimeScale priceScale = new NPriceTimeScale(); priceScale.InnerMajorTicks.Stroke = new NStroke(0.0, NColor.Black); chart.Axes[ENCartesianAxis.PrimaryX].Scale = priceScale; // setup line break series m_RenkoSeries = new NRenkoSeries(); m_RenkoSeries.BoxSize = 1; m_RenkoSeries.UseXValues = true; chart.Series.Add(m_RenkoSeries); GenerateData(m_RenkoSeries); chartView.Document.StyleSheets.ApplyTheme(new NChartTheme(ENChartPalette.Bright, false)); return(chartView); }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { WebExamplesUtilities.FillComboWithColorNames(UpColorDropDownList, KnownColor.White); WebExamplesUtilities.FillComboWithColorNames(DownColorDropDownList, KnownColor.Black); BoxSizeDropDownList.Items.AddRange(new ListItem[] { new ListItem("0.5"), new ListItem("1"), new ListItem("2"), new ListItem("2%"), new ListItem("5%"), new ListItem("10%") }); BoxSizeDropDownList.SelectedIndex = 1; BoxWidthDropDownList.Items.AddRange(new ListItem[] { new ListItem("50%"), new ListItem("75%"), new ListItem("100%") }); BoxWidthDropDownList.SelectedIndex = 2; } nChartControl1.BackgroundStyle.FrameStyle.Visible = false; // set a chart title NLabel title = nChartControl1.Labels.AddHeader("Renko Chart"); title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 14, FontStyle.Italic); title.TextStyle.ShadowStyle.Type = ShadowType.LinearBlur; // no legend nChartControl1.Legends.Clear(); // configure the chart NChart chart = nChartControl1.Charts[0]; chart.BoundsMode = BoundsMode.Stretch; // setup X axis NPriceScaleConfigurator priceConfigurator = new NPriceScaleConfigurator(); priceConfigurator.InnerMajorTickStyle.LineStyle.Width = new NLength(0); chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = priceConfigurator; // setup Y axis NLinearScaleConfigurator linearScale = (NLinearScaleConfigurator)chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator; NScaleStripStyle stripStyle = new NScaleStripStyle(new NColorFillStyle(Color.Beige), null, true, 0, 0, 1, 1); stripStyle.Interlaced = true; stripStyle.SetShowAtWall(ChartWallType.Back, true); linearScale.StripStyles.Add(stripStyle); NRenkoSeries renko = (NRenkoSeries)chart.Series.Add(SeriesType.Renko); renko.UseXValues = true; renko.UpFillStyle = new NColorFillStyle(WebExamplesUtilities.ColorFromDropDownList(UpColorDropDownList)); renko.DownFillStyle = new NColorFillStyle(WebExamplesUtilities.ColorFromDropDownList(DownColorDropDownList)); switch (BoxSizeDropDownList.SelectedIndex) { case 0: renko.BoxSize = 0.5; renko.BoxSizeInPercents = false; break; case 1: renko.BoxSize = 1; renko.BoxSizeInPercents = false; break; case 2: renko.BoxSize = 2; renko.BoxSizeInPercents = false; break; case 3: renko.BoxSize = 2; renko.BoxSizeInPercents = true; break; case 4: renko.BoxSize = 5; renko.BoxSizeInPercents = true; break; case 5: renko.BoxSize = 10; renko.BoxSizeInPercents = true; break; } switch (BoxWidthDropDownList.SelectedIndex) { case 0: renko.BoxWidthPercent = 50; break; case 1: renko.BoxWidthPercent = 75; break; case 2: renko.BoxWidthPercent = 100; break; } GenerateData(renko); // apply layout ApplyLayoutTemplate(0, nChartControl1, chart, title, null); }