MetaTrader 5のストラテジーテスターにおけるテスト結果の分析と最適化 - ページ 5

 
Anatoli Kazharski:

今、行われていることと同じです。テスト時にシンボルをロードする。

または、テスト開始直前に、そのようなリストが存在する場合、リスト内のテスト用に選択されたシンボルを定義し、それに追加する。また、キャッシュにあるシンボルが不要と判断された場合は、テストに使用しないようにする。

いずれにしても明確な答えは出せず、あくまでも仮定や選択肢の提案というレベルです。

オッケーです。

エキスパートは取引しません。しかし、市場参入の可能性を確認するため、必要証拠金を計算するために、メインのペアに加え、もう1つのペアを搭載することになったようです。2組のデータはキャッシュされているので、次のテスト時にデータを解凍して準備する時間のロスがない。

Expert Advisorが取引を開始します。2つ目のミッシングペアをロードして利益を計算する。これらのデータは再度キャッシュされるため、次のテスト時にデータを解凍して準備する時間のロスがない。

個人的には、履歴に "無駄な "刻みを加えるのは好きではないんですね。それ以外の人は、再梱包やデータの準備に多くの時間を割かれることを強く嫌います。

OK、答えてください。要望がない限り、「余計な」ツールのティックを適用してはいかがでしょうか。"Good question" (つ) そして、この瞬間、リクエストの瞬間までに、履歴を構築する必要があります(さらに、誰かがリクエストすることもできるので、ティックを持つことも必要です)。徐々に(今作っているように)歴史を作っていくよりも、時間のロスはさらに大きくなる。

あるネタを使った専門家が、他のパスでそのネタを使わないという保証はない。次のパスで使われるストーリーが以前のパスで使われたものと同じである確率は99%である

 
スラバと同意見で、例題は球形です。
 
Slava:

オッケーです。

Expert Advisorは取引しません。しかし、市場参入の可能性を確認するため、必要証拠金の計算には、メインペアに加え、もう1ペア搭載しているようです。2組のデータはキャッシュされているので、次のテスト時にデータを解凍して準備する時間のロスがない。

Expert Advisorが取引を開始します。2つ目のミッシングペアをロードして利益を計算する。これらのデータは再度キャッシュされるため、次のテスト時にデータを解凍して準備する時間のロスがない。

個人的には、履歴に "無駄な "刻みを加えるのは好きではないんですね。それ以外の人は、再梱包やデータの準備に多くの時間を割かれることを強く嫌っています。

OK、答えてください。要望がない限り、「余計な」ツールのティックを適用してはいかがでしょうか。"Good question" (つ) そして、この瞬間、リクエストの瞬間までに、履歴を構築する必要があります(さらに、誰かがリクエストすることもできるので、ティックを持つことも必要です)。徐々に(今作っているように)歴史を作っていくよりも、時間のロスはさらに大きくなる。

ある履歴を使用したExpert Advisorが、他のパスで同じ履歴を使用しないことを確実に予測することはできません。後続のテストパスで使用される履歴が、以前のパスで使用されたものと同じである確率は99%である

特にこだわりはないんです。この明確化ですぐに始められたはずです。自分の選択肢がベストであることが確実に分かっていれば、無駄な議論をすることなく、時間を短縮することができます。しかし、私が理解されていないようなので、よろしければ明確な説明が必要です。

この解明は、すべて最適化プロセスに関するものなのでしょうか?

単発のテスト工程だけならどうでしょう?EURUSDだけがテストされているのに、なぜGBPUSDとAUDUSDのティックが以前のテストからあるのですか?

1つのシンボル(EURUSD)だけが必要なときに、他のシンボル(GBPUSDとAUDUSD)のティックが必要な場合があるのか、単にわかりません。具体的な事例や数値が必要。

以前、一度に20個のシンボルをテストしたことがある場合はどうすればよいですか?1つだけテストする必要があるのに、なぜこれらすべてのシンボルからティックが必要なのでしょうか?前回のシングルテストで使用したキャラクターが多ければ多いほど、1つだけのテストに時間がかかります。 やはり、全く別のキャラクター群からキャラクターテストに切り替えることができますね。前のキャラクター群のデータも今は全く必要ないですしね。

また、どのような時間(解凍・準備)なのか? データの解凍・準備にはどれくらいの時間がかかるのでしょうか?また、マルチシンボルテストの後、シングルテストではどのくらい時間が増えるのでしょうか?

今からテストを行い、結果をお見せします。具体的な例を挙げて説明してほしい。

 
Anatoli Kazharski:
キャッシュをリセットする」チェックボックスがない。
 

1シンボル:EURUSD

2018.01.29 19:30:33.875 Core 1  EURUSD,M5: 26169180 ticks, 74266 bars generated. Environment synchronized in 0:00:00.078. Test passed in 0:00:27.266 (including ticks preprocessing 0:00:01.282).
2018.01.29 19:30:33.875 Core 1  EURUSD,M5: total time from login to stop testing 0:00:27.344 (including 0:00:00.078 for history data synchronization)
2018.01.29 19:30:33.875 Core 1  837 Mb memory used including 8 Mb of history data, 512 Mb of tick data

//---

5つのシンボル:EURUSD,GBPUSD,USDJPY,AUDUSD,USDCAD

2018.01.29 19:59:39.750 Core 1  EURUSD,M5: 26169180 ticks, 74266 bars generated. Environment synchronized in 0:00:00.078. Test passed in 0:11:52.156.
2018.01.29 19:59:39.750 Core 1  EURUSD,M5: total time from login to stop testing 0:11:52.234 (including 0:00:00.078 for history data synchronization)
2018.01.29 19:59:39.750 Core 1  130637614 total ticks for all symbols
2018.01.29 19:59:39.750 Core 1  AUDUSD: passed to tester 20717720 ticks
2018.01.29 19:59:39.750 Core 1  EURUSD: passed to tester 26169180 ticks
2018.01.29 19:59:39.750 Core 1  GBPUSD: passed to tester 27742039 ticks
2018.01.29 19:59:39.750 Core 1  USDCAD: passed to tester 23409978 ticks
2018.01.29 19:59:39.750 Core 1  USDJPY: passed to tester 32598697 ticks
2018.01.29 19:59:39.750 Core 1  1574 Mb memory used including 44 Mb of history data, 1088 Mb of cached tick data (total memory for tick data 2495 Mb)

//---

ここで、もう一度、1つのシンボルでテストする必要があります。

1シンボル:EURUSD

2018.01.29 20:04:25.737 Core 1  EURUSD,M5: 26169180 ticks, 74266 bars generated. Environment synchronized in 0:00:00.078. Test passed in 0:01:34.203.
2018.01.29 20:04:25.737 Core 1  EURUSD,M5: total time from login to stop testing 0:01:34.281 (including 0:00:00.078 for history data synchronization)
2018.01.29 20:04:25.737 Core 1  130637614 total ticks for all symbols
2018.01.29 20:04:25.737 Core 1  AUDUSD: passed to tester 20717720 ticks
2018.01.29 20:04:25.737 Core 1  EURUSD: passed to tester 26169180 ticks
2018.01.29 20:04:25.737 Core 1  GBPUSD: passed to tester 27742039 ticks
2018.01.29 20:04:25.737 Core 1  USDCAD: passed to tester 23409978 ticks
2018.01.29 20:04:25.737 Core 1  USDJPY: passed to tester 32598697 ticks
2018.01.29 20:04:25.737 Core 1  1288 Mb memory used including 44 Mb of history data, 1024 Mb of cached tick data (total memory for tick data 2495 Mb)

//---

この場合、なぜこれらの記号の刻みが必要な のでしょうか?そのため、1つのシンボルに対するテスト時間は3 倍以上になっています。時間幅は1年です。5年分のテストが必要な場合はどうすればいいのでしょうか?

 
fxsaber:
キャッシュをリセットする」チェックボックスがない。
チェックボックスが全くない状態でも可能な場合があります。見つけるだけでいいんです。
 
fxsaber:
キャッシュをリセットする」チェックボックスがない。

4でこんな(似たような)カチカチがあったんだ。削除しました。なぜなら、ユーザーの大部分に 誤解があり、多くの疑問があったからです。

 
Slava:

4でこんな(似たような)カチカチがあったんだ。削除しました。多くのユーザーから誤解を招き、多くの質問を受けたためです。

ターミナル.iniは常にあります:)
 

次は3つの記事を掲載予定です。

  1. ストラテジーテスターでの 1回のEAテストは何時間ですか?
  2. パソコンでのパラメータ最適化にはどれくらいの時間がかかるのでしょうか?
  3. クラウドでパラメータを最適化するのにかかる時間は?

テストには自作のExpert Advisorを使用する予定です。同じ一連のテストを行い、その結果を発表することができます。私の場合、1年間で数十万件の案件を獲得しています。


1.ストラテジーテスターでExpert Advisorを1回テストする時間はどのくらいですか?

例として、Open price only モードでのテスト結果を見てみましょう。M5 タイムフレーム(5分足データ)。アカウントタイプヘッジ 期間1年(2017.01.012018.01.01)。

シンボル:EURUSD

EURUSD,M5: 281877 ticks, 74300 bars generated. Test passed in 0:00:01.453.
282883 total ticks for all symbols
EURUSD: passed to tester 282883 ticks
466 Mb memory used including 8 Mb of history data, 64 Mb of tick data

上記のテスト結果によると、1つのシンボルに対するテストが1年間、1〜1.5 秒続くことがわかります。

では、口座通貨がない通貨ペアでテストしてみましょう。例えば、あなたの口座がUSDである場合、テストではUSDがないシンボルを取ってみましょう。例えば、EURCHF。この場合、必要証拠金と利益を正しく計算するために、EURUSDとUSDCHFの記号を使用するため、テスト時間が長くなってしまうからです。

シンボル:EURCHF

EURCHF,M5: 281063 ticks, 74273 bars generated. Test passed in 0:00:01.860.
846826 total ticks for all symbols
EURCHF: passed to tester 282468 ticks
EURUSD: passed to tester 282883 ticks
USDCHF: passed to tester 281475 ticks
467 Mb memory used including 8 Mb of history data, 64 Mb of tick data

このように、クロスレート用のテストは約2倍の時間がかかります。この場合、テストには1.5〜2 秒を要した。では、いくつかのシンボルでテストしてみましょう。

シンボル:EURUSD,GBPUSD,USDJPY

EURUSD,M5: 282881 ticks, 74300 bars generated. Environment synchronized in 0:00:00.031. Test passed in 0:00:07.172.
EURUSD,M5: total time from login to stop testing 0:00:07.203 (including 0:00:00.031 for history data synchronization)
853054 total ticks for all symbols
EURUSD: passed to tester 282883 ticks
GBPUSD: passed to tester 285067 ticks
USDJPY: passed to tester 285104 ticks
628 Mb memory used including 26 Mb of history data, 64 Mb of tick data

シンボル:EURCHF,AUDCAD,AUDNZD

EURCHF,M5: 282465 ticks, 74273 bars generated. Environment synchronized in 0:00:00.031. Test passed in 0:00:12.109.
EURCHF,M5: total time from login to stop testing 0:00:12.140 (including 0:00:00.031 for history data synchronization)
2264405 total ticks for all symbols
AUDCAD: passed to tester 284995 ticks
AUDNZD: passed to tester 285398 ticks
AUDUSD: passed to tester 282069 ticks
EURCHF: passed to tester 282468 ticks
EURUSD: passed to tester 282883 ticks
NZDUSD: passed to tester 282153 ticks
USDCAD: passed to tester 282964 ticks
USDCHF: passed to tester 281475 ticks
854 Mb memory used including 26 Mb of history data, 192 Mb of tick data

複数のシンボルをテストする場合、テスト速度が遅くなる。残念ながら、テストの精度を落とさずに、今までのやり方と違うことをするのは不可能です。しかし、先に述べたように、この端末の開発者は次のアップデートでMQL5の機能を拡張し、マルチシンボルテストをより高速に実行できる機能を追加する予定です。

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 

2.コンピュータのパラメータを最適化するのにかかる時間はどれくらいですか?

例として、Alpari ブローカーの異なるシンボルのデータをOpen price only モードでパラメータを最適化することを試みてみましょう。M5 タイムフレーム(5分間データ)。ヘッジ 会計の種類期間1年(2017.01.012018.01. 01)。

シンボル:EURUSD

result cache used 7953 times
genetic optimization finished on pass 15616 (of 504330836375520000)
optimization done in 28 minutes 56 seconds
local 7663 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)

シンボル:EURCHF

result cache used 2507 times
genetic optimization finished on pass 8704 (of 504330836375520000)
optimization done in 32 minutes 50 seconds
local 6197 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)

シンボル:EURUSD,GBPUSD,USDJPY

result cache used 9892 times
genetic optimization finished on pass 18176 (of 504330836375520000)
optimization done in 2 hours 15 minutes 03 seconds
local 8284 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)

シンボル:EURCHF,AUDCAD,AUDNZD

result cache used 7281 times
genetic optimization finished on pass 13312 (of 504330836375520000)
optimization done in 3 hours 13 minutes 37 seconds
local 6031 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)

近い将来、MetaTrader 5の ターミナルが更新され、テストと最適化のスピードがより速くなる予定です。そうすれば、All ticks モードでも最適化を行うことができるようになるかもしれません。また、MQL5クラウドネットワークサービスを 利用することで、最適化のスピードが上がり、より収益性が高くなります。

Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Большую часть времени современные компьютеры простаивают и не используют всех возможностей процессора. Мы предлагаем задействовать их с пользой. Вы можете сдавать мощности вашего компьютера другим участникам нашей сети для выполнения разнообразных...