2,807 views
この記事は最終更新から 2553日 が経過しています。
(1) やりたいこと
一つのEAについて、最も収益の上がるパラメータの組み合わせを見つけたい。
いわゆる最適化をしてみたい。
MetaTrader5のストラテジーテスター機能を使うとこれができる。
(2) 対象EA
前回の 「(13) 【MQL5】 Golden Cross EAサブクラスを作成」 で作成したEAを使用する。
このEAの場合、以下の2種類のパラメーターが最適化対象となる。
1) 短期MAのperiod
2) 長期MAのperiod
(3) 最適化実行
MetaTrader5の最適化機能は、バックテストを繰り返すことにより実現している。
すなわち、入力パラメータ値の組合せを変えてバックテストを自動的に繰り返し、収益の高いものを見つけるのだ。
因みにバックテストとは、過去の相場データを入力としてストラテジを検証すること。
1. 入力値の範囲とステップ値を設定
ストラテジテスターのInputタブを開く。
各入力パラメーター値の範囲および、繰り返し時の変更量(=ステップ値)を設定する。
今回は日足チャートを使用、超パラメータを以下のように設定した。
1) 短期MAのperiod : 4~16, 1step
2) 長期MAのperiod : 8~32, 1step
2. 実行
[Start] ボタンを1回押下する。
待つ。
待つ…
長い…
うるさい…
パソコンのファンが聞いたことがないくらいにうるさく唸っている!
心配だ…
ハードウェアモニタでパソコンの様子を覗いてみる。
なんと、全CPUコアの使用率が100%, 温度が70度オーバー!
ドラクエXでもDDONでもこんなに上がったことはない。
単純なMAのバックテストなのにメモリ使用量が8GB近くにまで上がった。
メモリ増設していないパソコンでは MetaTrader5の最適化機能は使えなさそうだ。
そのうちにPC筐体から焦げ臭いにおいがしてくるかもしれない。
ヒートシンク無しメモリが壊れるかもしれない。
マザボのコンデンサが破裂するかもしれない。
心配だ。
止めてしまえ!
止めた。
MetaTrader5の最適化機能を実行するには、チープな部品を組み合わせたパソコンではなく、
高負荷且つ長時間連続稼働に耐えられるように作られているワークステーションを使う必要があると確信。
コタツ並みに電気を食うけどヤフオクで安い Z820 を探してみるか…
※affiではない
こんなものを10時間も20時間も走らせていたらパソコンの寿命が縮んでしまう。
(4) 最適化結果(途中まで)
止めるまでに、全325セットの組み合わせのうち 16セットのバックテストが実行された。
この中で最も成績がよかったのは以下の組み合わせだった。
1) 短期MAのperiod : 6 [days]
2) 長期MAのperiod : 11 [days]
最後まで最適化を走らせればいろいろなレポートを表示してくれるのかもしれないが、今回はここまで。
こんな単純なストラテジのEAでこんなにパソコンを酷使するとは思わなかった。
うちのワークステーション 2台は両方とも Linuxを入れており、それぞれ用途が決まっている。
MetaTrader5専用に Windows WSを新規に 1台作らないといけないなぁ…
CPUをブンブン回して、バックテストマニアになったら電気代もすごいことになりそうだ。
テレビで将棋ソフト開発者の方が 「電気代がすごい」 って言ってたけどこういうことなのね。
あぁ Z820 ほしい…
まだ高いから Z800 で妥協しようかなぁ