ローカルファイルの入出力(書き込み編)

Pocket

今回はローカルファイルへの書き込みをEasyLanguageを使って実行してみます。株価をCSV形式で出力したり、もしくは、実行のログをテキスト形式で出力することなどに使えます。


この手のプログラミングの書き方がわからない場合は、とりあえずヘルプを見てみることをお勧めします。以下の操作でヘルプを表示させて”Write”を検索してみてください。”StreamWriterクラス”というクラスが出てくるのでそれを表示してください。EasyLanguageの内部的な実装がどうなっているのかわかりませんが、クラス名から推測するとMicrosoftのC#言語がベースになっているような気がします。MicrosoftのC#もファイルの入出力は”StreamWriterクラス”を使います。

TradeStation起動 → トレーディングアプリ → EasyLanguageプログラム開発 → ヘルプ(H) → EasyLanguage開発環境ヘルプ → 検索 → “Write”入力後検索 → StreamWriterクラスをクリック(おそらく一番上)

今回やりたいことがヘルプにそのまま出ています。以下の操作を実行してください。

ファイル(F) → 新規作成(N) → インジケーター(I) → 名前に”$file_write”を入力後OK

ヘルプから例のところに記載してあるコードを貼り付けてください。フォルダ名が変なフォルダ名なのでそこだけ少し修正します。(3行目)

このコードを実行してもフォルダは作成されません。通常のウィンドウズのプログラムであればコードの中でフォルダがなければ作成みたいなコードを書きたいところですが、ヘルプを見てもフォルダを作成するような命令が出てこないので無いのかもしれません。Cドライブの直下に”TradeStation”フォルダを作成してください。作成したら以下の操作でプログラムを実行してください。TradeStation側でチャートを何か表示していないとエラーになるので事前に表示させておいてください。

F3(検証) → F5(Start Debugging) → 銘柄を選択してOK

作成したフォルダの中にファイルが作成されていると思います。今回はファイルに何かを書き込むコードを書きたかったので命令をそのまま並べていますが、実はこのコードは何回も実行されています。チャートに適用した段階でチャートの足が変わるタイミングで毎回コードが呼ばれます。Createメソッドの2つ目の引数を省略しているのでファイルが毎回新規作成されますが、Trueを指定すると追記オープンに
なるので気になる方は試してみてください。文字列が大量に書き込まれると思います。この手のプログラムであればインジケーターではなく、トレーディングアプリケーションで作成した方がいいかもしれません。そのうち、トレーディングアプリケーションの方も作成しようと思います。

今回のプログラムはここからダウンロードできます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です