ストラテジーテスターにおける最適化

 
どうか、理解を深めてください。

例えば、私は「Moving Average.mq5」の配信から標準のExpert Advisorを選びました(Expert Advisorのコードに関する質問を避けるためです)。
初期データです。
EURUSD、日足、2010年7月1日から2010年8月31日まで、建値のみ、最適化なしモード(つまりテスターの1パス)。
StrategyTester_1pass.log ファイルを添付します。

テスターの総実行時間は 8 秒で、そのうち Expert Advisor のテストに費やされた時間はわずか 546 ミリ秒です。それ以外の時間はすべて準備作業だった。

そして、1つの入力パラメータに5つの値(テスターの5回の通過分)の最適化を設定しました。

以下はログのスクリーンショットです。

テスターログ

とStrategyTester_5passes.logファイルが添付されています。

ログを見ると、各反復に7〜9秒かかっている。つまり、毎回1回の実行で1サイクルが終わっているのだ!
したがって、最適化の総時間はデュアルコアプロセッサで25秒(実際のEAテストでは3秒ではなく、1コアで45秒かかる)です。

また、3つの入力パラメータを少なくとも10個の値(10 * 10 * 10 = 1000)に対して最適化する必要がある場合はどうでしょうか。MT4では、最適化が数桁速くなりました。

フォーラムのスレッドの一つ https://www.mql5.com/ru/forum/852/page14 に同じ問題についての質問がありましたが、すべて私の個人アカウントか servicedesk に送信 されていました。

何が問題で、どうすればストラテジーテスターで正しく最適化できるのか、説明してください。

 

私も気づきましたが、mql5の "不完全さ "のせいにしてしまいました -))

5つのパラメータを最適化する...素信号を入力とする...計算しない...できることはすべて取り除いた...。

その結果、4コアのプロセッサで1200回実行すると、一晩中かかってしまいます...それも1ヶ月で......。

高速化する方法を探していたんだ...5分に1回状態をチェックするようにエクスパートを制限したんだけど...うまくいかない...1秒も速くならない...」。

というわけで、2週間ほど前からテストにテストを重ねてきたのですが、最適化せずにパラメータを入れればいいんじゃないかという気がしてきました......。

 
maryan.dirtyn:

私も気づきましたが、mql5の "不完全さ "のせいにしてしまいました -))

5つのパラメータを最適化する...素信号を入力とする...計算しない...できることはすべて取り除いた...。

その結果、4コアのプロセッサで1200回実行すると、一晩中かかってしまいます...それも1ヶ月で......。

高速化する方法を探していたんだ...5分に1回状態をチェックするようにエクスパートを制限したんだけど...うまくいかない...1秒も速くならない...」。

というわけで、2週間ほど前からテストにテストを重ねてきたのですが、最適化せずにパラメータを入れればいいんじゃないかという気がしてきました......。

私も最初、自分のコードに間違いがあるのではと思いました。検索して簡略化したのですが、これにたどり着きました(...)。"エキスパート "です。

input int          X = 100;

int OnInit()
  {
   return(0);
  }

void OnDeinit(const int reason)
  {
  }

void OnTick()
  {
   Print("Тик-Так.");
  }

結果は同じだった。

1パス7〜9秒。そんなナンセンスなことが判明。

 
Batohov:

1パスが7〜9秒続きます。そういう無意味なことをするんですね。

+1.

オープニング価格も 同様です。

赤軍の最適化など...

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 
1ヶ月前から最適化をしているのですが)))、終わりがなさそうです。しかし、「OOPによる最適化」は、人間の愚かさのありとあらゆる側面をカバーしています。))誰も来ないから...。アメーバeXpertに Expert Advisorの動作中のバランスカーブの傾き制御」を付けたら、テストにどれくらいの時間がかかるか想像がつきますね。
 
ああ、今やっているのはそれだ......GPRSで映画をダウンロードするのと同じくらい面倒なんだ......。
 
maryan.dirtyn:
最適化を始めて1ヶ月))、まだまだ終わりが見えないようです...。長い間、私たちだけなんでしょうね...。))) 誰もここを見てないので...。
はい、みんなそうです :)ただ、言うことがないんです。2コアのCPUで10.5千ステップの「全ティック」で5~6日の高速最適 化にかなり慣れました。不満はない。
 
Yedelkin:
はい、みんな立ち寄ってくれていますよ :)ただ、言うことがないんです。2コアのプロセッサで、1万5千ステップの「全ティック」での高速最適化に5〜6日かかるという事実には、かなり慣れています。不満はない。
しかし、以前は大幅に高速化されていた
 
maryan.dirtyn:
しかし、以前はもっと速かった

私のコンピューターは5月から止まっていません。常に最適化されているのです。だから、速かったかどうか、もう迷うんです。

追記:今気づいたのですが、コンパイラが10倍速くなっていました。

 
Yedelkin:

私のコンピューターは5月から止まっていません。常に最適化されているのです。だから、速くなったかどうかは、もう迷うところです。

むずかしい
 

そして、いくつかのパラメータを選択して、テストをクリックすると......。朝、何本目か、何本残っているか数えてみると......。を計算すると、最適化終了まで50日あった...。私のコンピュータは4コア+2コアエージェントなのですが・・・。この最適化は必要ないので、消しましたが...。

理由: