EasyLanguage研究所

マネックス証券が提供する株式トレードツール「TradeStation」専用のプログラミング言語である、EasyLanguageについて。特にオブジェクト指向型EasyLanguage(OOEL)の情報を中心に。

分析テクニックやストラテジーの挿入や削除で発生するAnalysisTechniqueイベントの動きを検証

分析テクニックやストラテジーは、オブジェクト指向EasyLanguageから見るとAnalysisTechniqueクラスとして定義されています。

AnalysisTechniqueクラスには「Initialized(挿入時)」「UnInitialized(削除時)」「WorkSpaceSaving(ワークスペース保存時)」と3つのイベントが用意されているので、いつどのイベントが実行されるのかを、以下のように印刷ログだけ出力するイベントハンドラを用意して検証してみました。

using elsystem;

method void AnalysisTechnique_Initialized( elsystem.Object sender, elsystem.InitializedEventArgs args ) 
begin
	Print( "-- Start --" );
end;

method void AnalysisTechnique_UnInitialized( elsystem.Object sender, elsystem.UnInitializedEventArgs args ) 
begin
	Print( "-- End --" );
end;

method void AnalysisTechnique_WorkspaceSaving( elsystem.Object sender, elsystem.WorkspaceSavingEventArgs args ) 
begin
	Print( "-- Save --" );
end;

検証結果

Initializedイベント

・チャート分析ウィンドウの「分析テクニック(またはストラテジー)挿入」で挿入したいものを選択し、「分析テクニックとストラテジーを設定」ダイアログでOKを押すと発生する

WorkspaceSavingイベント

・チャート分析ウィンドウに挿入している状態でワークスペースの保存(Ctrl+S)を選択すると発生する
・続けてワークスペースの保存(Ctrl+S)を選択した場合は発生しない
・「分析テクニックとストラテジーを設定」ダイアログを開いた場合、そのままOKを選択した場合は発生しない

UnInitializedイベント

・「分析テクニックとストラテジーを設定」で状態をオフにするか削除すると、即発生される(ダイアログでOKを押さなくても)
・「分析テクニックとストラテジーを設定」で「設定」や「すべてのプロパティ」などを開き、何らかの設定を変更した場合、発生される(続けてAnalysisTechnique_Initializedイベントハンドラも発生される)

特にInitializedイベントは、フォームの初期設定や事前処理などに使えるので、トレーディングアプリを作るなら利用頻度が高いと思います。

AnalysisTechniqueクラスは、他にいくつかプロパティもあるので、イベントハンドラとうまく組み合わせて使っていきたいです。