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

 
Renat:

パスの数が10000を大きく超える場合のみ、ジェネティクスを使う意味があります。あなたの場合、パスが817本しかないので、フルサーチモードで実行する必要があるのです。

遺伝学は、効率的な個体を作り出すために、遺伝子配列をモデル化することで動作します。そのためには、一定の母集団数、通常は最低でも10,000パスが必要です。

テストはまだ終わっていません。進行中です。しかし、3枚ともパス数のバランスは悪いままです。このアンバランスはすぐにできたわけではなく、いつから(パス数)かははっきり言えません。
 
ForexMoneyMaker:
テストはまだ終わっていません。進行中です。しかし、3枚の写真ともパス数のバランスが崩れていることに変わりはありません。このアンバランスはすぐにできたわけではなく、正確にはいつ(何回)できたかはわからない。

はい、質問を誤解していました。

今、取り組んでいるところです。おそらく、「無駄な」結果をスキップすることと関係があるのでしょう。

 
Renat:

はい、質問を間違えました。

今、整理しているところです。おそらく、「無駄な」結果をスキップすることと関係があるのでしょう。

ところで、もうひとつの疑問も浮かんできました。

私の場合のように、オプティマイザが解を見つけるのが難しい場合(4コア、20外部エージェントにもかかわらず、結果がほとんどゼロで、最適化が非常に遅いことがわかります)、遺伝的アルゴリズムではなく、フルブルートフォース最適化に行くべきでしょうか。

Генетические алгоритмы - это просто!
Генетические алгоритмы - это просто!
  • 2010.05.25
  • Andrey Dik
  • www.mql5.com
В статье автор расскажет об эволюционных вычислениях с использованием генетического алгоритма собственной реализации. Будет показано на примерах функционирование алгоритма, даны практические рекомендации по его использованию.
 
ForexMoneyMaker:

しかし、おそらく私のケースのように、オプティマイザーがなかなか解を見つけられない場合(4コア、20の外部エージェントにもかかわらず、結果は基本的にゼロで、最適化が非常に遅いことがわかります)、最適化を遺伝的アルゴリズムではなく、フルブルートフォースに移行すべきでしょうか。

大雑把に言うと、遺伝学では、遺伝子の中にランダムにパラメータを詰め込むことで、ほとんどすべての局所的なピットから抜け出すことができる。

一般に、遺伝学(2-3回の再テストを実行できる)で何も見つからなかった場合、そこでもブルートフォースには何もできないのです。

 
ForexMoneyMaker:

司会者さん、こんにちは。

質問ですが、今回添付した3枚の写真で、オプティマイザーのパス回数がすべて異なるのはなぜですか?その理由は何でしょうか。

最初の写真から判断すると、パスの数は817になるはずです。しかし、2枚目、3枚目では、その数はかなり少なくなっています。

何度も議論されてきたことを質問しているのですね。そして、その答えはヘルプの中にあるのです。私は司会者ではありませんが、回答させていただきます。

グラフでは、赤色で表示されているもの以外はすべて表示されています。クリティカルエラーのあるランは、赤色で表示されます。

ユニークな結果のみが結果タブに配置されます。連続実行の場合、すべての結果は一意である。遺伝学では、多くのパラメータセットが繰り返される、つまり一意ではありません。結果はすでに結果キャッシュにあります - このパラメータセットはテストのために送信されず、結果はプロットされますが、結果リストには表示されません。

 
stringo:

司会者ではありませんが、お答えします。

 
Renat:
ストリングス

何度も議論されてきたことを質問しているのですね。そして、その答えはヘルプに書いてあります。私は司会者ではありませんが、回答させていただきます。

グラフでは、赤色で表示されているもの以外はすべて表示されています。クリティカルエラーの あるランは、赤色で表示されます。

ユニークな結果のみが結果タブに配置されます。連続実行の場合、すべての結果は一意である。遺伝学では、多くのパラメータセットが繰り返される、つまり一意ではありません。結果はすでに結果キャッシュにあります。このパラメータセットはテスト用に送信されず、結果はプロットされますが、結果リストには表示されません。

なるほど。ありがとうございます。すべてクリアしています。
 
ForexMoneyMaker:
(笑): わかりました。ありがとうございます。すべてがクリアになる。
テスターのログで、コンテキストメニューの「完全最適化ログ」をチェックします。どのエージェントがどのジョブを出したか、どのエージェントがどの結果を得たか、どの結果が結果のキャッシュにあったか、どの結果がファイルのキャッシュにあったかを示しています。どのランがクリティカルエラーで 終わったのか(どんなエラーだったのか)。 興味深く読むことができる。
Документация по MQL5: Программы MQL5 / Ошибки выполнения
Документация по MQL5: Программы MQL5 / Ошибки выполнения
  • www.mql5.com
Программы MQL5 / Ошибки выполнения - Документация по MQL5
 

司会者さん、こんにちは。

OnTester() 関数に適切な条件を記述したEAの最適化について、新たに質問させていただきます。最適化は、ビルド496の遺伝的アルゴリズムを用いて行った。

オプティマイザーの動作結果は、以下の写真の通りです。

最適化の際に得られたパラメータが適切な結果を与えることを確認するため、各テーブルの最後の行で得られた対応するパラメータでExpert Advisorをテストしましたが、519番目のビルドの更新版で行いました(残念ながら、496では行われませんでした)。

質問は3つあります。

1.OnTester()の結果が0に等しいか0より大きい場合、最適化チャートに負の値が表示されるのはなぜですか?

2.最適化グラフではゼロ以上の点が2つ(0.51に等しい値)あるのに対し、表では1つしかないのはなぜか。

3.ビルド519でのテスト後、2回のテストの結果が最適化の結果と一致しなかった理由は何でしょうか?(最初のケースでは、Expert Advisorは、ポジションを開くための資金不足のレベルに排出される預金の結果として利益745の代わりに停止し、2番目のケースでは、結果は利益83064の代わりに79030を受け取った)

 
ForexMoneyMaker:

質問は3つあります。

1.OnTester()では、ゼロに等しいかゼロより大きいという結果なのに、なぜ最適化グラフに負の値が表示されるのでしょうか?

2.最適化グラフではゼロ以上の点が2つ(0.51に等しい値)あるのに対し、表では1つしかないのはなぜか。

3.ビルド519でのテスト後、2回のテストの結果が最適 化の結果と一致しなかった理由は何でしょうか?(最初のケースでは、利益745の代わりに、ポジションを開くための資金不足のレベルにまで預金が流出してExpert Advisorが停止し、2番目のケースでは、利益83064の代わりに結果が79030となった)


私は司会者ではありませんが、回答してみます。

1.チャート上では正確に0という結果が出ていますが、0が目盛りに表示されていないだけなのです。

2.遺伝的アルゴリズムでは、同じパラメータを持つ個体が生成されるが、それらの個体については、実走行せずにキャッシュから結果を取得する。そのため、グラフには重複を含むすべての実行結果が表示され、重複した実行結果は結果表に入力されません(ただし、ログにはキャッシュから取得した結果である旨のメッセージが表示されます)。

3.テスターは1回の実行で、ストップアウトレベルに達するとテストを完了しますが、オプティマイザーはそのような状況を分析することなくスキップします。おそらく、テスターのエージェントは自分ではストップアウトの事実を検出できず、テスターがそれを行うのだと思います。そして、バランスはプラス領域に戻るかもしれません。私もそのようなケースを観察したことがあります。

4.最後のケースは、端末の更新か履歴の更新が原因だと思います。

理由: