記事"MT5のカスタムウォークフォワード最適化"についてのディスカッション

 

新しい記事 MetaTrader5のカスタムウォークフォワード最適化 はパブリッシュされました:

この記事では、MQL で実装された組み込みのテスターおよび補助ライブラリを使用して、ウォークフォワード最適化による正確なシミュレーションを扱います。

最適化を完了した後、ステップのシフトで、各ウィンドウの W のパラメータの複数のセットがあります。 最適なセットは、その中で定義されます。 パスのインデックス番号は、すぐに次のテストセグメント S でトレードの結果を得ることができます。 組み合わせて、 D 内のサイクルのフォワードテストに関する完全なレポートを取得します。

ウォークフォワードテストの形成

作者: Stanislav Korotky

 
ウォーク・フォワードは自動最適化という ことでよろしいでしょうか?従って、クラスター分析も自動最適化?
 
fxsaber:
ウォーク・フォワードは自動最適化ということでよろしいでしょうか?従って、クラスター分析は自動最適化なのか?

正確ではありません。自動最適化はEAに組み込まれたアルゴリズムで、EAのパラメーターをその場で調整するものです(私のブログの英語版で何回かに分けて紹介しています-冒頭)。ウォークフォワードはこのプロセスをオンラインではなくヒストリー上でエミュレートしたもので、テスターが最適化を行いますが、EAはそれ自体を最適化することはできません - もしできるのであれば、WFOは必要ありません - morkovkinsからテスターでEAを実行するだけで、フォワードに関する完全なレポートを得ることができます。その上、クラスター分析の結果は、次のステップのウォーク・フォワードや単純な最適化には自動的に適用されません。これはおそらくいくつかのプログラムで実装されているのでしょう。

MQL's OOP notes: On The Fly Self-Optimization of Expert Advisers: part 1
MQL's OOP notes: On The Fly Self-Optimization of Expert Advisers: part 1
  • www.mql5.com
Are you ready for a very very long story? It will be probably most complicated and prolonged publication in the series of MQL OOP so far, but it's surely worth reading, because its main theme is automatic self-optimization of expert advisers on the fly. This is one of the most frequently asked questions of MetaTrader users. And the answer so...
 

テスターで自動最適化 すれば、オンラインでも実施できる。ありがとうございます。

このケースはソースのないExpert Advisorにも実装できます。

 
fxsaber:

テスターで自動最適化すれば、オンラインでも実施できる。とにかく、ありがとう。

このケースはソースのないExpert Advisorにも実装できます。

MQL5にはまだテスター管理用のAPIがないため、テスターを介したオンライン自動最適 化は「松葉杖」バージョンでのみ可能です。

 
Stanislav Korotky:

MQL5にはまだテスター管理用のAPIがないため、テスターによるオンライン自動最適化は「松葉杖」バージョンでのみ可能である。

現時点では、特に制限はないと思います。

 

こんにちは。以下のアルゴリズムを使用して、MT5で同様のアプローチを実現することが可能かどうか教えてください:

1.セグメント(例えば1ヶ月)で最適化し、次のセグメント(例えば同じく1ヶ月)で最高の利益/最高の取引数または他のユーザー定義パラメータのパラメータでテストします。

2.2.結果をファイルに記録しながら、一定期間(再び1ヶ月とする)シフトする。例えば-2018年を探ってみよう。

1ヶ月-最適化、2ヶ月-最高の利益を出した設定でテスト-結果を記録する。

2ヶ月間-最適化 3ヶ月間-最高の利益を上げた設定でテスト - 結果を記録する。

......

11ヶ月-最適化 12ヶ月-より利益の出る設定でテスト-記録結果?

 
Luchezar Shalomaev:

こんにちは。以下のアルゴリズムに従って、MT5でこのようなアプローチを実行することが可能かどうか教えてください:

1.セグメント(例えば1ヶ月)で最適化し、次のセグメント(例えば同じく1ヶ月)で最高の利益/最大の取引数または他のユーザー定義のパラメータでテストします。

2.結果をファイルに記録しながら、一定期間(再び1ヶ月とする)シフトする。例えば - 2018年を研究してみましょう。

1ヶ月-最適化、2ヶ月-最も利益の出る設定でテスト-結果を記録する。

2ヶ月-最適化 3ヶ月-最も利益の出る設定でテスト - 結果を記録する。

......

11ヶ月 - 最適化 12ヶ月間、最も利益の出る設定でテスト - 結果を記録?

これが記事の内容です。現在、元のEAを編集することなく実装されています。

それはテスターの自動制御の手段によって行われます。私はまだ完成したソリューションを投稿する時間がありませんでした。

 
fxsaber:

これが記事の内容です。現在、オリジナルのEAを編集することなく実装されている。

それはテスターの自動制御という手段で行われます。完成したソリューションを掲載する時間がまだありません。

ありがとうございます。私のEAを入れたらうまくいくでしょうか?

#include <WalkForwardOptimizer.mqh>

...

int OnInit(void)
{
  // あなたのコードはここにある
  ...

  // オプション、デフォルトは wfo_built_in_loose
  wfo_setEstimationMethod(wfo_estimation, wfo_formula);

  // 任意、デフォルトDBL_MAX
  wfo_setPFmax(100);

  // 任意、デフォルトはfalse
  // wfo_setCloseTradesOnSeparationLine(true);
  
  // 必須、ヘッダーファイルからのすべてのパラメーター
  int r = wfo_OnInit(wfo_windowSize, wfo_stepSize, wfo_stepOffset, wfo_customWindowSizeDays, wfo_customStepSizePercent);...............
 
Luchezar Shalomaev:

ありがとうございます。私のEAを入れても機能しますか?

それは記事の著者のためです。しかし、これはまだプログラマー向けに設計されています。

 
Luchezar Shalomaev:

ありがとうございます。私のEAを入れても機能しますか?

与えられたコードは不完全です - もっと多くのハンドラを使用する必要があります - それはサンプルにあります。しかし、(ヘッダーファイルだけでなく)ライブラリ自体が必要です。もしライブラリを購入したのであれば、プライベートで書き込んでください