1

自分の投稿に投票することはできません 0

日次データで MA(15) の株式キャンドルを作成しようとしています。

問題なく OHLC バーでグラフを作成できます。

しかし、MA に DataManipulator.FinancialFormula を使用し始めたとき、「数式エラー - 期間に十分なデータ ポイントがありません」というエラーが発生し続けます。

誰かがこれについて私を助けることができますか? ありがとう

これがコードです。

        DataSet ds = new DataSet();
        SqlConnection connection = new SqlConnection();
        connection.ConnectionString = @"Data Source=XXX;Database=Stock;Integrated Security=SSPI;";
        connection.Open();
        string sql = "Select datestamp, highprice, lowprice,openprice, closeprice from daymarketdata where tickname='GS' and datestamp>'1/1/2011' order by datestamp asc";

        System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(sql, connection);
        cmd.CommandType = CommandType.Text;

        SqlDataAdapter sa = new SqlDataAdapter();
        sa.SelectCommand = cmd;

        sa.Fill(ds, "Cos");
        connection.Close();
        chart1.Series["Daily"].ChartType = SeriesChartType.Candlestick;
        chart1.DataSource = sa;
        chart1.DataBind();


        chart1.Series["Daily"].XValueMember = "DateStamp";
        chart1.Series["Daily"].YValueMembers = "HighPrice, LowPrice, OpenPrice, ClosePrice";
        chart1.Series["Daily"].IsXValueIndexed = true;

        chart1.Series["Daily"].BorderColor = System.Drawing.Color.Black;
        chart1.Series["Daily"].Color = System.Drawing.Color.Black;
        chart1.Series["Daily"].CustomProperties = "PriceDownColor=Green, PriceUpColor=Red";
        chart1.Series["Daily"].XValueType = ChartValueType.Date;
        chart1.ChartAreas[0].AxisY.Minimum = 100;
        chart1.ChartAreas[0].AxisY.Maximum = 180;
        chart1.DataManipulator.FinancialFormula(FinancialFormula.MovingAverage, "15", "Daily", "MA");
4

2 に答える 2

2

かなり古いですが、まったく同じエラーメッセージに苦労していて、投稿されたコードが実際に正しい方向を示していたので、貢献を残していると思いました。

XValueMember と YValueMembers を設定した後、chart1.DataBind() を移動する必要があると思います。そのようです:

    chart1.Series["Daily"].XValueMember = "DateStamp";
    chart1.Series["Daily"].YValueMembers = "HighPrice, LowPrice, OpenPrice, ClosePrice";   
    chart1.DataBind();

FinancialFormula が適用されるまでに、データはシリーズ オブジェクトに読み込まれません。ただし、他の問題に遭遇する可能性があります;)

于 2013-07-06T09:04:50.877 に答える
0

追加してください

Chart1.DataManipulator.IsStartFromFirst = True

于 2011-09-06T14:37:24.303 に答える