私たちのファンページに参加してください
- ビュー:
- 54
- 評価:
- パブリッシュ済み:
- 2025.04.04 10:53
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
複数のシンボルでExpert Advisorを実行する必要がある場合があります。この目的のために、MT5-testerには「Market Watchウィンドウで選択されているすべてのシンボル」というモードがあります。これにより、同じEA設定を異なるシンボルで実行することができます。
しかし、時にはMT5-testerを何度も実行する必要があります。このライブラリを使えば、それが可能になります。
特徴
シンボル、タイムフレーム、インターバルの組み合わせをいくつでも設定できます。また、単体での実行だけでなく、順張りを含む最適化も行うことができます。
シナリオ
- どのシンボル、インターバル、タイムフレームでTSが良い結果を示すかを調査。
- TSの自動最適化の見込みを評価するために、連続したインターバルで最適化を実行すること。
必要に応じてMT5-Testerを設定します。
この図は、ある間隔で実際のティックに対してフル・ブルート・フォースで最適化が実行されることを示しています。
必要な最適化のリストを作成します。例えば、このライブラリの配信からExpert Advisorを実行することができます。
図のように設定すると、Market Watch のすべてのシンボルに対して最適化が実行され、各シンボルに対して M1 と M15 のタイムフレームで最適化が実行されます。
結果はこのようになります。
これで、標準的なMT5テスターツールを使用して、最適化の結果を安全に見ることができます。
。
例1.
まず、非常に単純な例を考えてみましょう。
#include <fxsaber\MultiTester\MultiTester.mqh> // テスターで複数回実行/最適化。 // この関数はタスクリストの生成を担当する。. void SetTesterSettings() { TesterSettings.Add("AUDCAD"); // テスターで指定された設定で AUDCAD を実行します。 TesterSettings.Add("EURUSD", PERIOD_H1); // Tester で指定した設定で EURUSD H1 を実行。 TesterSettings.Add("GBPUSD", PERIOD_M6, D'2019.07.01', D'2019.09.01'); // 指定された間隔でGBPUSD M6を実行する。 }
このEAを実行した結果、ソースコードで読み込まれた設定でテスターが3回呼び出されます。
例2.
エキスパートアドバイザーのソースコードを分析してみましょう。
#include <fxsaber\MultiTester\MultiTester.mqh> // テスターでの複数回の実行/最適化. sinput bool Period_M1 = false; // M1のスイッチを入れる sinput bool Period_M5 = false; // M5のスイッチオン sinput bool Period_M15 = false; // M15のスイッチオン sinput bool false; // カスタム文字のみ // この関数はタスクリストを生成する。 void SetTesterSettings() { // マーケット・ウォッチから全シンボルを検索する。 for (int i = SymbolsTotal(true) - 1; i >= 0; i--) { const string Name = SymbolName(i, true); if (!OnlyCustomSymbols || SymbolInfoInteger(Name, SYMBOL_CUSTOM)) { if (Period_M1) TesterSettings.Add(Name, PERIOD_M1); // M1が設定されている場合、このTFで各文字を追加する。 if (Period_M5) TesterSettings.Add(Name, PERIOD_M5); // M1が設定されている場合、このTFで各文字を追加する。 if (Period_M15) TesterSettings.Add(Name, PERIOD_M15); // M15 が設定されている場合、各シンボルをこの TF で追加する。 if (!Period_M1 && !Period_M5 && !Period_M15) // TFが設定されていない場合は、TFでExpert Advisorを実行しましょう。 TesterSettings.Add(Name); } } }
つ目の例では、Market Watch でマークされた TF とシンボルに基づいて、タスクのリストを生成します。ここでもソースコードのコメントを見てみよう。
つまり、必要なのは、この文字列
#include <fxsaber\MultiTester\MultiTester.mqh> // テスターで複数回実行/最適化。
を書き、直感的な方法でタスクを生成する関数を1つだけ書けばよい。
// この関数はタスクリストを生成する。 void SetTesterSettings()
機能。
- DLLの使用許可が必要user32.dllのいくつかのWinAPI関数が呼び出される。そのため、バイパス しない限りマーケットには適さない。
- 納品物のMTTester.mqh ファイルにはMT5-testerコントロールのメソッドが含まれており、他のプロジェクトで使用するのに便利です。
- 中断した場所からタスクを再開することが可能です。
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/26132

4度の多項式で移動線を構成する。正弦波とその軸を外挿する。構築された線は、各バーで1つの値を削除し、再描画されない外挿値のスライディング線が構築される。

iMAインジケータ(移動平均、MA)による取引システム。MAトレンドの展開

このライブラリを使用すると、テキスト情報を最適な速度でチャートに出力するディスプレイを簡単に作成できます。

CDialogクラスをベースにしたパネル。現在のシンボルでの作業。ポジショングループの削除、利益確定、ブレークイーブンの設定