C#.Net で Active Market DataBase を使ってみる

Prices(価格)クラス、Calendar(カレンダー)クラスを使用して価格情報を読み出してみます。

動作確認環境

  • Windows10
  • Visual studio Community 2017
  • ターゲットフレームワーク .NET Framework 4.6.1
ざっくりとした作業手順は以下のとおり
  1. Pan Avtive Market DataBaseを参照設定する
  2. Formアプリケーションを作成する
  3. アプリケーション実行してデータ取得する

Pan Active Market DataBaseを参照設定する

「プロジェクト」→「参照の追加」→「COM」を開いて、Pan Active Market Database 1.3にチェックを入れます。

Form アプリケーションの作成

サンプルコードの解説

銘柄コードを指定し、ボタンを押すと、銘柄名、日付、始値、終値、実行結果を表示するプログラムコードを作成します。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        // 価格オブジェクトの生成
        public ActiveMarket.Prices pr = new ActiveMarket.Prices();
        //カレンダーオブジェjクトの生成
        public ActiveMarket.Calendar cal = new ActiveMarket.Calendar();
        public Form1()
        {
            InitializeComponent();
        }

        private void btnExecute_Click(object sender, EventArgs e)
        {
            double data;
            int endPos;

            txtName.Clear();
            txtDate.Clear();
            txtOpen.Clear();
            txtClose.Clear();
            try
            {
                pr.Read(txtCode.Text);  //価格情報の読み出し
                endPos = pr.End();      //最終日付位置の読み出し
                txtName.Text = (string)pr.Name();            // 銘柄名の読み出し
                txtDate.Text = cal.Date(endPos).ToLongDateString();     // 最終日付
                data = pr.Open(endPos);                         // 始値の読み出し
                txtOpen.Text = data.ToString();
                data = pr.Close(endPos);                        // 終値の読み出し
                txtClose.Text = data.ToString();
                lblResult.Text = "success!!";

            }
            catch (Exception a)
            {
                // 例外処理
                Console.WriteLine(a.Message);
                lblResult.Text = a.Message;
                return;
            }

        }

    }
}

実行結果

銘柄コードを指定して読み込みボタンをクリックします。

読み込み成功

次に、ありえない銘柄コードを入力して、ボタンを押下してみます。

読み込み失敗!!「価格を読み込めませんでした」と表示されます。
※実行結果は、lblResult.Textに出力しています。

タイトルとURLをコピーしました