タイマーを使う

Pocket

今回はタイマーを使う方法を見ていきます。取引プログラムのロジックを定期的に動かしたくなる時はあると思います。株価の更新のタイミングで定期的にイベントを発生させることは可能ですが、市場が空いていない時や流動性が低く株価が動かない株を取引対象としている場合などイベントを定期的に必ず発生させる仕組みとしてはタイマーを使う必要があります。


今回はタイマーの動きを見るだけなので、定期的に画面に時間を表示するだけのプログラムを書きます。TradeStationを起動してEasyLanguageを起動してください。以下の操作をしてアプリケーションを作成してタイマーを配置します。

ファイル(F) → 新規作成(N) → トレーディングアプリケーション(T) → 名前(N)にTimerTest → OK → ツールボックスのTimeのTimerをダブルクリック

タイマー作成

タイマーオブジェクトの名前のところがなぜか切れていますが、上記のような状態でタイマーオブジェクトが挿入されていると思います。プロパティを変更します。5秒ごと起動にするので、Intervalを5000(ミリ秒)、Enableを”True”に変更してください。

タイマープロパティ変更

では、フォームを表示させて、タイマーを動かしてテキストボックスに時間を表示させます。フォームデザイナー(GUI)は使わずに直接コードを書いてフォームを生成しますが、イニシャライザ(アプリケーション初期化時に実行されるコード)は、プロパティウィンドウから結びつける必要があります。タイマーが選択状態になっている場合は、タイマーオブジェクトが表示されている場所の何もオブジェクトがない場所をクリックしてください。プロパティウィンドウは画鋲のマークをクリックして常時表示されているようにしておいた方がやりやすいです。プロパティのところがAnalysisTechniqueになっていると思います。イベントの結びつけは雷マークから行います。雷マークをクリックして、”Initialized”のところに”TimeTestProgram_Initial”と入力してenterキーを押下してください。コードの中に関数が定義されたと思います。

イニシャライザ定義

この関数の中にフォームを生成するコードを書きます。同じように、タイマー動作時のイベントも定義するので、Timer1をクリックして、雷マークの”Elapsed”に”Timer1_Elapsed”と入力してenterキーを押下してください。残りの部分のコードを以下のように書いてください。

F3とF5を押下してください。日付と時間の文字列が5秒後から5秒間隔で更新されると思います。仮に市場が閉まるくらいに取引を閉じたい場合はタイマー発生の関数の中で現在時刻を参照して、市場が閉まりそうであれば取引コードを書くようなプログラムを書くことができます。

タイマーの使い方を見ていきました。今回のコードはここからダウンロードできます。

コメントを残す

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