最適化とサンプル外テスト。

 

皆さん、こんにちは。

EAを最適化した後、オプティマイザーが提案するパラメータのセットを十数個もナードアウトサンプリングしなければならないことがよくあります。

Expert Advisorをサンプル外で最適化するアイデアがある。仮に、Expert Advisorに、いくつかのパラメータによる最適化を「課金」したとします。例えば、2006年1月1日から2007年1月1日までと設定しました。2006年1月1日から2007年1月1日まで

Expert Advisorは、数千個を受領しています。その後、OPTIMIZATION RESULTSの ページを別ファイルとして保存しています。次に、最適化のために次の履歴期間を設定する。つまり、1カ月でも2カ月でも、必要なだけ追加するのである。

この場合、例えば1月1日からと設定します。2007年6月1日、再び最適化を実現。オプティマイザはEXPERT'S PROPERTIESでパラメータを取らずに、最初の最適化の後に保存したファイルから一つずつ選択し直す必要があります。この2回目の最適化の後、サンプル外で利益を得たvAreAだけが残されます!

その結果、理想的には、後でオンラインでテストするための「理想的なパラメータ」を得ることができるのです

mt4テスターの追加機能として便利だと思います。おそらく、そして最も可能性が高いのは、すでにどこかの誰かが実装していることでしょう。どなたかご存知の方は、ぜひリンクをシェアしてください

私のささやかな知識では、このアイデアを実際にどのように実行に移せばよいのかがわからない。

 
leonid553 さん、サンプル外のデータでテストしない既存の「最適化」は純粋なカーブフィットなので、正しい方向に進んでいますね。しかし、基本的なアルゴリズムは、ニューラルネットワークプログラムのように、より複雑であるべきです。 すべての「最適化」は、すべてのデータセットで一度に実行されるべきです(これは開発者の願い です)。もちろん、2つのデータセットだけで作業することもできますが、トレーニング(A)、バリデーション(B)、テスト(C)の3つを用意したほうがよいでしょう。まあ、既存の条件では、多かれ少なかれあなたの言うとおりに働かなければならないでしょう。
 
エキスパートがパラメータを含むファイルを指定し、最適化で使用することも可能です。あるいは、もっと単純に、ある時間間隔で最適化し、次に別の時間間隔で最適化し、すべてをエクセルに保存して比較することもできます:-)。
 
dimontus:
あるいは、もっと単純に、ある時間間隔で最適化し、次に別の時間間隔で最適化し、すべてをエクセルに保存して比較することもできます:-)。
いや、ディモンタス、そんなことはない。異なるデータに2種類のカーブフィットを施しても、何の意味もありません。
 
つまり、同じパラメータで異なる時間間隔でも同じような結果が得られるのであれば、それはこのスレッドの著者が望んでいることではないのでしょうか。
 
1つ目の最適化セットから2つ目の最適化セットをふるいにかけるだけで、2つ目のカーブフィットをする意味があるのでしょうか?
 
どういうことですか?
 
以下のバリエーションを試してみました。
Expert Advisorを利用可能な全期間でテストし、最悪の期待ペイオフ(チャート上の凹み)を持つセグメントを選択し、それを最適化すると、この最悪の区間
局所的な極値を(可能な限り)手作業でふるいにかけている
そして、ルーチンワークは、最悪の区間の最適化データをオプティマイザーに挿入し、このデータでExpert Advisorを利用可能な全区間にわたって実行することです。
を、私が選んでいます。)
 

以上のことから、私は次のように考えています。

単純なExpert Advisorを追加で構築するには、 - そして、最初の最適化の後に、得られたすべてのパラメータセットをそれにロードします。

各セットには独自のインデックスが付きます。そして、最初のEAの代わりにこの追加EAをテスターに挿入し、サンプル外で最適化すれば、最適化パラメータは挿入したセットのLOCAL NUMBERになるのです!

ちょっと面倒かもしれませんが、手動でサンプル外最適化するよりはずっといいですよね・・・。

必要なのは、このアドオンの汎用性を考えることです。

 
leonid553 さん、了解です。出来上がったら、Code Baseかここに投下してください。すでに欲しいと思っている人も多いのでは...。ずっと気になっていたのですが、どうしても手が出ません。サンプル外での最適化パラメータだけは、最初のデータセットでテストした結果を何とか考慮しなければならないので、考える必要があります。
 
leonid553:

以上のことから、私は次のように考えています。

単純なExpert Advisorを追加で構築するには、 - そして、最初の最適化の後に、得られたすべてのパラメータセットをそれにロードします。

各セットには独自のインデックスが付きます。そして、最初のEAの代わりにこの追加のEAをテスターに挿入し、サンプルを超えて最適化するだけで、最適化パラメータは挿入したセットのLOCAL NUMBERになります

ちょっと面倒かもしれませんが、手動でサンプル外最適化するよりはずっといいですよね・・・。

必要なのは、このアドオンの汎用性を考えることです。

そう簡単にはいかないと思います。最適化された各パラメーターは、他のパラメーターとの関連でいくつかの極値を特定します。 これらの極値をニューラルネットワークの入力に与えれば、解を見つけることができるかもしれません。