Пример #1
0
        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();
            }
        }
Пример #2
0
        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();
            }
        }
Пример #3
0
        /// <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;
        }
Пример #4
0
        /// <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);
            }
        }
Пример #5
0
        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);
            }
        }
Пример #6
0
        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();
        }
Пример #7
0
        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();
        }
Пример #8
0
        /// <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);
        }
Пример #9
0
        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);
        }