[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 119

 
Dimka-novitsek:
本当に、プロ、アドバイス!! 何がどうなるんだろう?


与えられたパラメータでEAを実行し、「最適化」をチェックすると、テスターはEAに関わるパラメータを変更したときの結果をいくつかのバリエーションで表示する、という観点から得られるものを評価する。この場合、画面には何も表示されませんが、パラメータの値が異なるEAの異なるバリエーションが実行されています。

最適化」テスターの表では、「タイムフレーム」など、使用するパラメーターの値を入力することが可能です。 このパラメータは、"From "と "To "で、値の変化のステップを指定し、初期値と最終値を表示することができます。 その結果、Expert Advisorの実行結果が、5分後、15分後、1時間後、などと数行表示されます。 当時は理解するのに苦労しました。

 
drknn:

どちらの場合も、最初のパラメータは配列の名前です。最初の場合のみ、パラメータは「object array[]」、2番目は「object&array[]」と記述されています。この2つのエントリーの違いは何なのか、という論理的な疑問が生まれます。つまり、同じようにパラメータを指定するのであれば、ArrayResize()でパラメータを指定する際に、なぜアンパサンド「&」が必要なのでしょうか?アンパサンドは何らかの役割を担っているのか、それとも全く関係なく、開発者のミスなのでしょうか?



この記号は、ArrayResize関数 内の配列が変更されることを知らせるためのものです。そのため、参照渡しとなっています。

 
sergeev:

この関数を参照するときは、&記号を付ける必要はありません。
これは、ArrayResize関数内の配列が変更されることを知らせるためのものです。したがって、参照渡しとなります。


参照時にアンパサンドが不要なことは、例示された例から明らかです。ただ、パラメータをどのような形でヒントに書くかを決める必要がありました。とにかく、手に入れました、ありがとうございます。なので、オートコンプリート機能のツールチップには、メタエディタのヘルプに書かれているような書き方で残しておきます。結果はこのようになります。

 
助けてください!ビジュアライゼーションでテストするとうまくいくのですが、オプティマイズにチェックを入れると、何かが間違っているのです!
 
Dimka-novitsek:
助けてください!ビジュアライゼーションでテストするとうまくいくのですが、オプティマイズにチェックを入れると、何かが間違っているのです!

最適化パラメータにどのようなチェックボックスを設定し、そこにどのような値があるのか、スクリーンショットを表示してください。
 
Dimka-novitsek:
助けてください!ビジュアライゼーションでテストするとうまくいくのですが、オプティマイズにチェックを入れると、何かが間違っているのです!

質問からではよくわからないのですが、「WHAT IS NOT IT」のように見えるのはなぜでしょうか?最適化」にチェックを入れたとき、何を期待したのか、「エキスパートプロパティ」→「入力パラメータ」ボタンを確認しましたか?
 
Vekker:


可視化では、指定したパラメータでExpert Advisorを実行した結果を表示し、チェックボックス「最適化」では、Expert Advisorに関連するパラメータを変更した場合の作業結果のいくつかのバリエーションを表示します。この場合、画面には何も表示されませんが、EA内部でパラメータの値を変えて実行されています。

最適化」テスターの表では、「タイムフレーム」など、使用するパラメーターの値を入力することが可能です。 このパラメータは、"From "と "To "で、値の変化のステップを指定し、初期値と最終値を表示することができます。 その結果、Expert Advisorの実行結果が、5分後、15分後、1時間後、などと数行表示されることになる。 当時は理解するのに苦労しました。


1時間以上何も表示されず、線の上には、スラッシュで区切られた数字があるはずで、いつもあるのに見えないことに気がつきました

見てみると、5種類くらいのバリエーションがあるのですが、可視化には半分以上かかりますね...。

 
drknn:

最適化パラメータに設定したチェックボックスとその値のスクリーンショットを表示してください。

もちろん!!!
 
 
Dimka-novitsek:


離陸の最適化Value = 150 とすると、スタートも = 150 になるはずです(理論上は)。しかし、テスターがこの150を無視して10刻み=10で始めたとすると、200になる頃には20回のテストをしていることになります。

ストップロスの最適化同じように、指定された50から始めなければならない。また、これを無視して15から始めると、ステップ10でさらに15回のテストを行うことになります。テストの総量は35回です。

トレーリング同じです。さらに6つのテストを実施。合計で41回、あなたのExpert Advisorをチャート上で動作させる必要があります。

パラメータを1つずつ最適化 するようにし、「Value」と「Start」の列の値を等しく指定した方が良いのではありませんか?

試してみてください。