記事"MQL5 Cookbook:指定の基準に基づく Expert Advisor 最適化結果の保存方法"についてのディスカッション - ページ 2

 
Anatoli Kazharski:

このトピックをすぐに再検討するつもりはない。

あなたの問題をもっと正確に定式化して、ここに投稿してみてください。おそらく誰かが解決策を提案してくれるでしょう。


私の仕事は単純で、最適化結果の 順序ではなく、シーケンス番号でパスを記録することです。

 
Aleksey Vyazmikin:

私の仕事は単純で、最適化結果の 順番ではなく、シーケンス番号でパスを記録することです。

そのまま動的配列に追加し、最適化の最後にソートする。
 
記録はどこに?
 
Anatoli Kazharski:
動的配列にそのまま追加し、最適化の最後にソートする。

つまり、2次元の追加配列を作るには、どこに通過番号とその指標を入れるか?


また、一度にファイルに書き込む場合は?つまり、値のない行をゼロで忘れ、値が現れたら上書きする、ということは可能でしょうか?

 
Dennis Kirichenko:
どこに記録するのか?

もちろんファイルだ。

 
Aleksey Vyazmikin:

もちろん、ファイルの中だ。


アナトリーの指摘は正しい。OnTesterPass() ハンドラのボディの中で、最適化の過程で結果をリストか動的配列(私はリストの方が好きです)に集めます。そして最適化の最後に、OnTesterDeinit()ハンドラの ボディで、リスト/配列を必要な基準でソートして保存します。

 
Dennis Kirichenko:

アナトリーの指摘は正しい。OnTesterPass() ハンドラのボディで、最適化の間に結果をリストか動的配列(私はリストの方が好きです)に集めます。そして最適化の最後に、OnTesterDeinit()ハンドラの ボディで、リスト/配列を必要な基準でソートして保存します。


リストに関する記述が見当たりませんが、どういう意味ですか?

 
Aleksey Vyazmikin:

リストについての記述がなかったのですが、どういう意味ですか?


CListというデータ型が あります。タスクで結果を収集するのに便利です。しかし、結果はノード・タイプにラップされるべきです。

 
Dennis Kirichenko:

CListというデータ型が ある。タスクの中でこのデータ型に結果を集めると便利である。CListはCObjectの子孫です。


なるほど。見てみたら、複雑なことがたくさんあることに気づいた。使いたいなら、それを理解する必要がある...そして、複雑な例をいくつか見つけた。この特別なタスクの例でどうやるか教えてもらえますか?

 

Anatolyさん、ありがとうございます!

エントリーポイント最適化モードでテストする際、勝ちトレードと負けトレードの割合に関する情報をファイルに出力する必要があります。

些細なことのように思えますが、2日間格闘し、メタクオットに腹を立て、2週間ほど忘れていました。

今日、メチャコットに悪態をつきながら(彼らはOnTester関数と OnTesterPass関数を 奇妙な方法で実装している。))、あなたの例を一目見て、必要なものを書き終えました。)