C#でPanRollingチャートギャラリーを使うための予備調査
PanRollingチャートギャラリーには、専用のチャートソフトが付属しています。さらに、Excelで使用する方法の他に、comを使用して、VBやC#からも、活用できると紹介文にかかれています。
ところが、実際に、C#から使用する方法については、インターネット上には、ほとんど情報がありません。
PanRollingチャートギャラリーをC#から利用するには
PanRollingチャートギャラリーには、Excelで使用するための活用方法の紹介がされていますが、comを使用して、VBやC#からも、活用できると紹介文にかかれています。
Excel.VBAで操作するサンプルは、公開されているものの私自身が、Excelを使わなくなって、月日が経っています。これらのExcel用のサンプルシートは、LibreOffceでも読み込めるものの、VBAは修正しないと実行できないようです。
チャートギャラリーの利用料金
PanRollingチャートギャラリーは、PanRollingが販売している株価チャートアプリケーションです。月額の使用料金を支払うサブスクリプションモデルではなく、買い切りモデルです。スタンダード版が3万円+税3千円です。
専用のチャートツールが付属していますが、使い勝手は少し微妙です。
株価データを、Excel上で、VBAを使用して、株式チャートの検討が行えるだけでなく、comを使って、VBやC#で利用可能と商品説明には書かれています。
チャートギャラリーの株価データを分で何らかのツールを使用して、株価チャート解析を行う場合は、この製品は、株価データの入手する方法の1つとして有効な選択肢です
そして、体験版が利用できるので、使用しているパソコンで問題なく動作するかを確認してから購入するかを判断できます。
C#でPanRollingチャートギャラリーを使うための予備調査
PanRollingチャートギャラリーを使えば、株価データを取得し、格納する部分を自分で作る必要がないので、かなり便利な気がするのですが、不思議なことに、インターネット上には、C#で、PanRollingチャートギャラリーを使用するための情報をほとんど見つけることができませんでした。
類推すると、株式データをWebサイトで取得し、グラフに表示した段階で多くの人が力尽きでしまって、Excelで解析する方針に変更している可能性は、考えておく必要がありそうです。
Excel VBAで、チャート解析を行う方法を紹介する書籍は多数販売されていますが、Excelでチャートを解析するにしても、Excel BookとVBAをかなり作り込み、簡単に使えるようにしておかないと、チャート解析作業の負荷が高すぎて継続できない気がします。
もちろん、他の可能性としては、私が知らない、もっと便利でお手軽なチャート解析する方法が存在する可能性があります。便利でお手軽なチャート解析ツールが、存在しても、その解析ツールを使うための学習コストが無視できないほど高い可能性もあります。
PanRollingチャートギャラリーの体験版は、「 Pan Rolling相場アプリケーション試用版」としてダウンロードできます。
- C#.net に関する質問です。
C#で、PanRollingチャートギャラリーから、銘柄コードを取得するサンプルコードが紹介されています。
- 相場子(そばこ)
C# Formアプリケーションで作成された、PanRollingチャートギャラリーを活用するアプリケーションです。コードが公開されているので、C# Formアプリケーションを作りなれている場合は、実装例として参考にできる可能性があります。
相場子(そばこ)は、そのままでは、PanRollingチャートギャラリーの体験版では実行できません。
コードをダウンロードし、Program.cs内の以下のコードを削除すると体験版でも実行できるようになりますが、体験版の機能制限により、機能の多くは動きません。
// パンローリングのActiveMarketライブラリが必要です。
try {
ActiveMarket.Prices price = new ActiveMarket.Prices();
price.ReadBegin = 0;
price.ReadEnd = 0;
price.Read("1001");
price = null;
} catch {
MessageBox.Show("このソフトの利用には、\n"
+ "パンローリング社の相場アプリケーションが必要です。\n\n"
+ "http://www.panrolling.com/pansoft/amarket/",
"相場子", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}