記事"Expert Advisors最適化のカスタム基準作成"についてのディスカッション

 

新しい記事 Expert Advisors最適化のカスタム基準作成 はパブリッシュされました:

MetaTrader 5 クライアント端末は Expert Advisor パラメータを最適化する幅広い機会を提供します。またストラレジーテスタに含まれる最適化評価基準に対して、開発者には自身の基準を作成するチャンスが与えられています。これは Expert Advisorsを検証し最適化する数えきれない可能性に導きます。本稿ではそのような基準を、複雑なもの単純なもの双方、作成する実践的方法について記述します。

作者: Dmitriy Skub

 
マルチペアのEAは、シンボルによってテスト結果が 異なります。EURUSDでEAをテストしたところ、AUDUSDではロングトレードができず、AUDUSDでテストしたところ、EURUSDではショートトレードができませんでした!どうすれば解決できますか?ありがとうございます。
 

素晴らしい記事をありがとう、

パルドのパーフェクトプロフィット基準(http://www.breakoutfutures.com/Newsletters/Newsletter0605.htm)を あなたの基準の上に当てはめる方法や余地はありますか?

 

非常に有用な記事だ。 すべてが使いやすい......。

しかし、OnTester()関数を呼び出す 基準、つまり、このパラメータで最適化が終了した場合についてのみ記述されています。

例えば、ドローダウンが50%以上であったり、残高がn値以下であったりした場合、CPU時間を無駄にしないために、最適化を早期に中止することは可能でしょうか?

 
sigma7i:

非常に有用な記事だ。 すべてが使いやすい......。

しかし、OnTester()関数を呼び出す 基準、つまり、このパラメータで最適化が終了した場合についてのみ記述されています。

例えば、ドローダウンが50%以上であったり、残高がn値以下であったりした場合に、CPU時間を無駄にしないために、最適化を早期に中止することは可能でしょうか?

エキスパート削除
 
その通りです!ありがとう!
 

最適化(OnTester呼び出し)の終了後、「最適化結果」タブを乱雑にしないために、例えばマイナス結果で不要な結果をフィルタリングする可能性はありますか??

 

並べ替えは、任意の列をクリックして行うことができます。

をクリックすることで行うことができる。

追記.遺伝的最適化の過程で、ExpertRemove()を "tear off "することができます。

OnTester()でもリセットされる。

私自身、遺伝学が間違った方向に進むことがあった。

 
Karlson:

並べ替えは、...をクリックして行うことができます。

をクリックすることで行えます。

OnTester()でゼロにすることもできる。

私個人としては、遺伝学は時々間違った方向に進みます。

だからソートで、不要な結果は全く表示されないようにしたい...。

ソートなら簡単です、例えば:

double  OnTester()
double  balance = TesterStatistics(STAT_PROFIT);
double  trades_number = TesterStatistics(STAT_TRADES);

if(balance < 5000 || trades_number < 20) return(-777);

....бла бла return(свой критерий оптимизации);

で、ソートする。

しかし、それは少し「不器用」です、私は望ましくない結果を全く表示しないで欲しいのです。

 

Karlson:

PS.遺伝的最適化の過程でExpertRemove()を "tear down "できるとは限らない。

ExpertRemove()を使って最適化(遺伝的最適化に限らず)中に結果を "取り除く "ことはできない。

私はOnTick()ハンドラの中に条件付きでそれを置いたのですが・・・。

 

のようなコードは機能しないということですか?

if (balance < 3000) ExpertRemove();

のようなコードは機能しないということですか?

しかし、私が言ったのはそういうことではない。少なくとも過去には機能していた)そのような故障が、結局は遺伝子の逃避につながったということだ。