ライブラリ: マルチテスター - ページ 22

 
mqhファイルを別にコンパイルする必要はない。あなたも探し始めたんでしょう?うまくいったよ。ありがとう。
 

最適化の結果に 目を通したとき、いくつかの文章が気に入り、後で使うためにその文章に関する有益な情報を素早く得たいと思うかもしれない。

私はこの方法がとても便利だと思いました。

#define private public
  #include <fxsaber\MultiTester\MTTester.mqh>
#undef private

void OnDeinit( const int Reason )
{
  if (!MQLInfoInteger(MQL_OPTIMIZATION) && MQLInfoInteger(MQL_TESTER))
  {
    const datetime EndTime = TimeCurrent() - TimeCurrent() % (24 * 3600) + 24 * 3600;
        
    const string Str =          TimeToString(EndTime, TIME_DATE) + ": " +
                                DoubleToString(TesterStatistics(STAT_PROFIT), 0) + ", " +          
                                DoubleToString(TesterStatistics(STAT_TRADES), 0) + ", " +          
                                DoubleToString(TesterStatistics(STAT_PROFIT_FACTOR), 2) + ", " +          
                                DoubleToString(TesterStatistics(STAT_EXPECTED_PAYOFF), 2) + ", Fit = " +          
                                DoubleToString(TesterStatistics(STAT_CUSTOM_ONTESTER), 2) + "\n";

    MTTESTER::SetClipboard(_Symbol + " " + Str); // シングルパス文字列をクリップボードに置く。
  }

1つのパスが終わると、必要な情報はすべてクリップボードに文字列として簡潔な形で保存される。私はそれをCTRL+Vでペーストする。

そして、そのような興味深い文字列がたくさん溜まってきたら、全体的な状況を評価する。


もちろん、文字列は自分で形成する。上記はほんの一例です。要はクリップボードに収まるかどうかだ。

 

fxsaber、マルチテスターをありがとう!fxsaberさんの出版物はいつもトップレベルですね!


自転車を発明する前に、アドバイスをお願いします。

multitesterを使用してシンボルのリストでEAのパラメータを最適化した結果、.optファイルのリストが得られ、最適化の結果は各シンボルについて個別にしか見ることができません。

最適化の結果はシンボル ごとに別々にしか見ることができません。例えば、2つのパラメーターの標準的なMT5の2Dグラフ(緑色の網掛けの四角形)を取得したいとします。

あるいは、すべての結果をエクセルの表にまとめるのはどうすれば簡単でしょうか。すべてのS&P500の結果をエクセルに手動でエクスポートするのはあまり便利ではありません。

fxsaber
fxsaber
  • www.mql5.com
Предупреждение для тех, кто не знает (почти все). При передаче мастер-пароля (даже на короткое время) от MT4/5-торгового счета другому лицу автоматически происходит передача не только имени, на кого зарегистрирован торговый счет (как при передаче инвест-пароля), но и реального email-адреса и номера телефона, на которые зарегистрирован торговый...
 
Sunriser:

マルチテスターを使用してシンボルのリストでEAパラメータを最適化した結果、.optファイルのリストが得られ、最適化の結果はシンボルごとに個別にのみ表示することができます。

また、それらを組み合わせて全シンボルの 平均結果を得るにはどうすればよいでしょうか?例えば、2つのパラメータ(緑色の網掛けの四角形)の標準的なMT5の2Dグラフを取得したいとします。

あるいは、すべての結果をエクセルの表にまとめるのはどうすれば簡単でしょうか。S&P500のすべての結果を手動でエクセルにエクスポートするのはあまり便利ではありません。

TesterCache を使って、マルチ最適化のすべての opt ファイルを一つにまとめることは可能です。

TesterCache
TesterCache
  • www.mql5.com
MT5-тестер автоматически сохраняет оптимизационные кеши (данные оптимизации) в файлах  Tester\cache\*.opt . И умеет экспортировать/импортировать их. Данная библиотека позволяет работать с этими данными. Сценарии Вывод более полных данных, чем это предоставляет MT5-тестер. Создание критериев оптимизации в любое время после проведенной...
 
グーグル翻訳を使おうとしているのですが、使い方がわかりません。英語のチュートリアルはありますか?どの時点で有効にして、私の専門家とテストするシンボルのリストを作ることができるのかがわかりません。それとも、手動でコードファイルを編集して、それをインポートする 必要があるのでしょうか?ありがとうございます!
 
Thierry Waltrich:
グーグル翻訳を使おうとしているのですが、使い方がわかりません。英語のチュートリアルはありますか?どの時点で有効にして、私の専門家とテストするシンボルのリストを作ることができるのかがわかりません。それとも、手動でコードファイルを編集して、それをインポートする 必要があるのでしょうか?ありがとうございます!

ここには、このツールを積極的に使っている(あるいはそれをベースにしている)人たちがいます。彼らがあなたの理解を助けてくれるなら、それは素晴らしいことです。

残念なことに、私はあまりにも多くの仕事をコミュニティと共有してきたので、初歩的な質問に建設的に答える時間が取れないだけでなく、自分の開発や結果を投稿する習慣をほとんど止めてしまいました。

 

最適化の結果を手動で分析する際に、フォワードを実行する便利な方法。

// 最適化結果テーブルからフォワードを実行する(ターミナルで実行)。
#include <fxsaber\MultiTester\MTTester.mqh> //https://www.mql5.com/ja/code/26132

sinput datetime inForward = D'2020.01.01'; // からの前進

const bool Init = EventSetMillisecondTimer(100);

void OnTimer()
{
  static const string Forward = "[Tester]\r\nFromDate=" + TimeToString(inForward, TIME_DATE) +
                                "\r\n[TesterInputs]\r\ninBestInterval_Action=true";
  static bool Ready = true;
  static bool Flag = false;
  
  static string Settings;
  
  if (Ready)
    Ready = MTTESTER::IsReady();
  else if (MTTESTER::IsReady())
    Ready = (Flag = !Flag) ? !(MTTESTER::GetSettings(Settings) && MTTESTER::SetSettings2(Forward) && MTTESTER::ClickStart(false))
                           : MTTESTER::SetSettings2(Settings);
}

エキスパート・アドバイザーの最適化テーブルを開き、関心のあるパスの「シングル・テストを実行」をクリックします。パスの前方出力が得られる。

特にBestIntervalを使用する場合、時間を大幅に節約できます(私の場合、1回のテストは数秒です)。

 
Thierry Waltrich:
グーグル翻訳を使おうとしているのですが、使い方がわかりません。英語のチュートリアルはありますか?どの時点で有効にして、私の専門家とテストするシンボルのリストを作ることができるのか分かりません。それとも、手動でコードファイルを編集して、それをインポートする 必要があるのでしょうか?ありがとうございます!

ストラテジーテスターで最適化したいエキスパートを選択し、最適化するパラメーターを設定する必要があります。

次にExample1をコンパイルし、任意のチャートにドラッグ&ドロップすると(実行)、Example1のコードで設定されたチャートと時間枠でExpert Advisorが実行されます。

つまり、最適化されたExpert Advisorを異なる_Symbol/_Periodなどで実行するMultitesterExpertが必要です。

例 1 と例 2 のコメントを勉強すれば、それに基づいて独自の MultitesterExpert を作成できるようになります。

 

GetSettings(Str) は、ローカルエージェントのテストを中断する。

GetSettings(Str) テストで使用されているティックモデリングの種類を調べるために使用します。

移動平均 Expert Advisor のサンプルコードに以下を追加しました:

#include <fxsaber\MultiTester\MTTester.mqh>

int OnInit()
  {

// エキスパート・アドバイザーの標準コード

// テスターの設定を取得する
   string  Str;
   if(MQLInfoInteger(MQL_TESTER) && MTTESTER::GetSettings(Str))
     {
      Print(Str);
     }
   return(INIT_SUCCEEDED);
  }

その結果、テスターはどのタブからも「設定」タブに切り替わる傾向があります。

不釣り合いな数のビルがローカルエージェントに分散され、実行されません。


自分で何か提案できますか?

ファイル:
 
Sunriser:

ヒントをいただけますか?

OnTesterInit で GetSettings を行い、そこから ParametersSetRange 経由で得られた値を sinput 変数に渡します。

ローカルエージェントでは、このsinput変数がモードを教えてくれます。


モードはDLLを使わずに実際の刻みで判断できます。