FXシステムトレード研究~MetaTrader4で時系列予測~
GNIPLOTでグラフを表示
最終更新:
kita-mt4
-
view
まずはC#でグラフを描く事から勉強していきます。
C#単体ででグラフの表示を行うことも検討しましたが、GNUPLOTを用いるのが簡単なようです。
GNUPLOTのインストール方法
zipファイルを適当なフォルダに解凍することでインストールは完了。
GNUPLOTの初期設定
これは必ず行う必要があるわけではないが、念のため。
初めてGnuplotを起動させると文字が潰れて読めない状態になっているので、フォントを設定し直す必要があります。
方法はまず、画面を右クリックしてChoose Fontを選び、好きなフォント(例えばMSゴシック等)を選びます。
方法はまず、画面を右クリックしてChoose Fontを選び、好きなフォント(例えばMSゴシック等)を選びます。
フォントを変更すると、きちんと文字が表示されるようになるが、
この設定を保存しないと、次回起動したときも文字が潰れたままになってしまいます。
なので、画面を右クリックしてUpdateを選択することで設定を保存する必要があります。
この設定を保存しないと、次回起動したときも文字が潰れたままになってしまいます。
なので、画面を右クリックしてUpdateを選択することで設定を保存する必要があります。
C#での起動方法
C言語でGNUPLOTを使う場合、POPENを使いますが、C#では方法が変わります。
外部アプリケーションを呼び出す為のProcessクラスを使います。
外部アプリケーションを呼び出す為のProcessクラスを使います。
使用するのははpgnuplotで、コードは以下の通りで起動しました。
System.Diagnostics.Process gnuplot = new System.Diagnostics.Process();
gnuplot.StartInfo.FileName = "pgnuplot.exe";
gnuplot.StartInfo.UseShellExecute = false;
gnuplot.StartInfo.RedirectStandardInput = true;
gnuplot.StartInfo.RedirectStandardOutput = true;
gnuplot.Start();gnuplot.StandardInput.WriteLine("plot sin(x)");
注意
ファイル名を設定が間違っているとエラー終了してしまいます。
Windowsの環境設定を適切に行うと上記のコードでも動くと思われますが
知識不足のため!?私のPCではうまく設定できませんでした。( Windows 7 RC 64bit)
Windowsの環境設定を適切に行うと上記のコードでも動くと思われますが
知識不足のため!?私のPCではうまく設定できませんでした。( Windows 7 RC 64bit)
確実に設定を行うにはフルパスでファイル名を設定すれば良いです。
例:gnuplot.StartInfo.FileName =@"C:\gnuplot\bin\pgnuplot.exe"
例:gnuplot.StartInfo.FileName =@"C:\gnuplot\bin\pgnuplot.exe"
データファイルの表示
データファイル(plot.dat等)をグラフで表示するには特定の場所にファイルを置く必要があります。
ファイルを置く場所は実行ファイルと同じパスです。
VisualC#でプログラムを起動させる場合、「デバッグ開始」と「デバッグ無しで開始」の2パターンあります。
それぞれ実行ファイルを置いてあるパスが違うため注意が必要です。
ファイルを置く場所は実行ファイルと同じパスです。
VisualC#でプログラムを起動させる場合、「デバッグ開始」と「デバッグ無しで開始」の2パターンあります。
それぞれ実行ファイルを置いてあるパスが違うため注意が必要です。