Candlestick mehrere Y-Werte

Ich bin auf einer mission, um eine candlestick-Diagramm mit MSChart in einer windows-form. Ich habe bereits gelungen, ein 3D-Balkendiagramm mit keine Probleme. Aber nach langer Suche auf das internet, Microsoft-Quellcode (WinSamples) und eine Menge von headscratching ich kann nicht finden, den richtigen Weg zu erstellen Sie ein candlestick-Diagramm.

Was mir helfen konnte, ist ein deutliches Beispiel für das hinzufügen einer serie, um das Diagramm mit mehreren Y-Werte oder eine Korrektur von meinem code (wenn ich ausführen, Debuggen nichts zeigt, außer der Legende, Beschriftung).

Einen bonus wäre, dass das Beispiel basiert auf OleDB (meine Werte sind in einer Access-Datenbank).

Also meine Frage: Wenn Sie haben Erfahrung mit der Erstellung eines Candlestick-chart in C# in einer windows form-können Sie mir einen Tipp geben oder (noch besser) können Sie mir einige c# - code?

Hier ist meine derzeitige (funktioniert nicht) code:

using System.Windows.Forms.DataVisualization.Charting;
public partial class CandleStick : Form
{
    public CandleStick()
    {
        InitializeComponent();
    }

    private void CandleStick_Load(object sender, EventArgs e)
    {
        GrafiekLaden();
    }

    public void GrafiekLaden()
    {

        Koers k = new Koers();
        //This method fills up a list, the data comes from my database
        //it contains Date, High, Low, Open, Close
        k.meerdereOphalen();

        Series price = new Series();
        chart1.Series.Add(price);

        //Set series chart type
        chart1.Series["price"].ChartType = SeriesChartType.Candlestick;

        //Set the style of the open-close marks
        chart1.Series["price"]["OpenCloseStyle"] = "Triangle";

        //Show both open and close marks
        chart1.Series["price"]["ShowOpenClose"] = "Both";

        //Set point width
        chart1.Series["price"]["PointWidth"] = "1.0";

        //Set colors bars
        chart1.Series[0]["PriceUpColor"] = "Green";
        chart1.Series[0]["PriceDownColor"] = "Red";

        for (int i = 0; i < k.Lijst.Count; i++)
        {
            //adding date and high
            chart1.Series["price"].Points.AddXY(DateTime.Parse(k.Lijst[i].Datum), k.Lijst[i].Hoog);
            //adding low
            chart1.Series["price"].Points[i].YValues[1] = k.Lijst[i].Laag;
            //adding open
            chart1.Series["price"].Points[i].YValues[2] = k.Lijst[i].PrijsOpen;
            //adding close
            chart1.Series["price"].Points[i].YValues[3] = k.Lijst[i].PrijsGesloten;
        }
    }
InformationsquelleAutor Jens | 2012-10-19
Schreibe einen Kommentar