システムトレード

[EasyLanguageでシステムトレード]OptimizationAPIで最適化を中止するボタンを追加しよう

EasyLanguage ストップボタン

前回[EasyLanguageでシステムトレード]ストラテジーの最適化を自動で行おう【OptimizationAPIの解説】にて、ストラテジーの最適化を自動で行う方法を紹介しました。

ただ、マネックス証券のマニュアルに載っているプログラムのままでは、ストラテジーの最適化を「始める」ボタンはありましたが、「中止する」ボタンはありません。

したがって、プログラムを間違えて最適化を始めてしまったときに、終わるまで待たなくてはいけません。

パンダはし
パンダはし
設定を間違えて大量のケース数の最適化になってしまったー!!どうやって止めたら良いのー!?

それでは不都合なので、今回は「ストップボタン」の作り方を紹介します。コピーするだけで簡単にできるので試してみてください。

Optimization_API_StopButton
タートル 投資手法 バックテスト
この結果を見てもまだシステムトレードしないのか【タートル流投資手法の驚くべきバックテスト結果】タートルが取ったとされる投資手法をプログラム化して、バックテストを行いました。その結果としては、かなりのリターンが期待できるものでした。トレンドフォローの投資手法は、まだまだ現役であるようです。...

InitAppメソッドにボタン追加

前回で解説したように、ボタンの作成は、「InitApp」メソッドで設定していました。

なので、今回もそのInitAppメソッド内に、プログラムを追加します。

といってもやることは簡単で、vars文に、「Button stopButton」を追加して、「startButton」を作っているやり方をそのままマネれば良いだけです。

注意点としては、

  • 「Location」は「startButton」の位置と被らないようにする
  • ボタンが押されたときに実行するメソッドは、スタートボタンのときと異なるものを設定する(ここでは、OnStopButtonClickメソッドとしています)
  • ストップボタンは、スタートボタンと同じ「form1」に追加する(form2とかにしなくてよい)

下にプログラム例を載せていますので、コピーしてお使いください。

 stopButton = Button.Create("Stop Optimization", 120, 30);
 stopButton.Location(20, 60);
 stopButton.Click += OnStopButtonClick;
 form1.AddControl(stopButton);

ストップボタンを押したときに実行するメソッドを追加しよう

ストップボタンができたら、ストップボタンを押したときに実行するメソッドを書きましょう。

InitAppメソッド内で、

stopButton.Click += OnStopButtonClick

としてますので、「OnStopButtonClick」メソッドを作成します。(名前は任意です)

最適化を中止する際は、

optimizer.CancelJob( );

と書けば中止できます。

下のプログラムをコピーしてもらえば、印刷ログに「Canceling Optimization」と出て、最適化がストップします。

method void OnStopButtonClick( elsystem.Object sender, elsystem.EventArgs args ) 
vars:		tsopt.Job job;
begin
	Print("Canceling Optimization");
	
	optimizer.CancelJob( );
	
end;

 

さいごに

ストップボタンを追加する方法を紹介しましたが、いかがでしたでしょうか。

簡単だったかと思います。

これを応用して、いろんなボタンを作成してみるのも面白いかと思います。

次回は、複数銘柄でバックテストを行う方法を紹介します。

タートル 投資手法 バックテスト
この結果を見てもまだシステムトレードしないのか【タートル流投資手法の驚くべきバックテスト結果】タートルが取ったとされる投資手法をプログラム化して、バックテストを行いました。その結果としては、かなりのリターンが期待できるものでした。トレンドフォローの投資手法は、まだまだ現役であるようです。...

システムトレード記事一覧Next→複数銘柄でバックテストをしよう

Nocchi_nochilog(のっち)
少額投資をこよなく愛する1児のパパ&サラリーマン。
お小遣い制でも負けずに投資をしています。

知るだけで暮らしが豊かになる知識を発信中!
若いうちから投資することの重要性を伝えるべく、ブログの記事を更新しています。

特にインスタグラムでは、1日1分で自然とお金の知識が身につくような情報を発信しています。
ぜひ合わせてご覧ください!

下のアイコンから飛べます!
\ Follow me /

COMMENT

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