ここの別の投稿で Microsoft の .Net チャート コントロールを発見しましたが、今のところ気に入っています。必要な方は、こちらのリンクをご覧ください: http://code.msdn.microsoft.com/mschart
シリーズを作成してグラフ領域に叩きつけるなど、実行時にすべてを行います。X 値と 4 つの Y 値を指定することで、ローソク足チャートを正常に作成できます。チャートに追加すると、次のようになります。
// "Price" is the .Name property of this series
chart1.Series.Add(priceseries);
それはうまくいきます。次に、財務計算式のこの素敵なコントロールに付属のサンプルを詳しく調べました。サンプルでは、移動平均式を使用するように指示されています (これを例として使用するだけで、どれも機能させることができません)。コードは次のとおりです。
chart1.DataManipulator.FinancialFormula(FinancialFormula.MovingAverage,"5","Input","Simple");
「5」は使用する期間なので、好きなようにできます。「入力」は見かけ上のデータソース系列で、「単純」は出力系列です。これを自分のコードで動作するようにスピンするために、ボタンを作成して次のようにしました。
private void button1_Click(object sender, EventArgs e)
{
chart1.DataManipulator.FinancialFormula(FinancialFormula.MovingAverage, "5", "Price", "SMA");
}
素敵でシンプルですね。そのボタンをクリックするとすぐに、私のチャート コントロールは大きな赤い X を表示し、移動平均系列 (私は「SMA」と名付けました) をチャート上に表示しません。
上記のコードに追加して、「SMA」シリーズを事前に作成しようとしました。financialformula 呼び出しを行った後に「SMA」シリーズをチャートに追加しようとしましたが、両方とも大きな平均の赤い X で終わりました。サンプル コードをもう一度見てみると、余分な一連のデータを生成するために必要なのは 1 行のコードだけのようですが、行き詰まっています。赤い X にデバッグ情報がまったくないことは役に立ちません:(
大きな X を取り除き、代わりに新しい一連のデータを表示する方法についてのアイデアはありますか?
更新: テストとして、系列を Chart1 に追加することに関するビットを削除し、その直後に chart1.DataManipulator ビットを追加しました。予想どおり、すべての初期データを含む最初のシリーズは表示されません (グラフに追加する部分を削除したため) が、コードの次の行で数式を適用すると、大きな赤い X は表示されません。データはありません。表示されていますが、エラーコードも表示されていません-それで改善されたと思いますか? これは、数式を適用している最初のデータセット、またはチャート コントロール自体のビュー/境界に関係する何かに何らかの問題があると私に信じさせています。そのトラックでさらに何かを見つけたら、2 番目の更新として投稿します。