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

 

時にはTesterフォルダをきれいにする必要があります。例えば、控えめなoptファイルのサイズは~2Mbです。10Kの最適化が実行された場合、それはすでに20Gbになります。10K文字 - 同様に。

肥大化しすぎたフォルダに遭遇することもあるでしょう。

 

私の目的はマーケットウォッチシンボルを最適化することなのですが、以下のような答えが返ってきました。


#include <fxsaber\MultiTester\MultiTester.mqh>

そして

void SetTesterSettings()


 
herrcrowley:

私の目的は、マーケットウォッチシンボルを最適化することなのですが、以下のような答えが返ってきました。

テスターでEAをセットアップします。次にターミナルでMultiTester_Exampleを 実行します。

 

また会ったね、

アドバイスありがとうございました。"customs symbols "をtrueにしてテストすると、multitesterは機能せず、falseにするとテストされる実際のシンボルだけをテストします。


 
herrcrowley:

アドバイスありがとうございました。"customs symbols "をtrueにしてテストすると、マルチテスターは機能せず、falseにするとテストされる実際のシンボルのみをテストします。

残念ながら、言葉の壁やその他の障害によって、何が間違っているのかを理解することができません。

 

どういうわけか、複数回のテスト実行でスクリプトがアンロードされる。いつも起こるわけではなく、早いときもあれば遅いときもある。例えば、反復413でそれが起こった。IsStoppedがtrueに設定され、スクリプトがアンロードされ、ケースの途中でジョブ全体が台無しになった。エラーメッセージは ない。デバッグ・メッセージは、SendMessageW(Handle, WM_COMMAND, ID_EDIT_PASTE, 0)の 後のSleep(100)の 後に起こることを示していました

static bool SetSettings( const string Str ) の呼び出しにおいて。

以下は、遊ぶための最小セットである。しかし、やはりMetaTraderなのだろう。ビルド2245ですが、最新のビルド2253でも同じです。ビルド2190にもあるし、それ以前にもあるかもしれない。

bool CloseAllOtherCharts()
{
  bool Res=false;
  for (long Chart = ::ChartFirst(); Chart != -1; Chart = ::ChartNext(Chart))
  {
    if(Chart != ::ChartID())
      Res |= ::ChartClose(Chart);
  }
  return Res;
}

void StartTest(string SymbName)
{
    string TesterInput = "[Tester]"+
                         "\nExpert=ChanRet"+
                         "\nSymbol="+SymbName+
                         "\nPeriod=M1"+
                         "\nOptimization=0"+
                         "\nModel=4"+
                         "\nFromDate=01.09.2019"+
                         "\nToDate=01.12.2019"+
                         "\nForwardMode=0"+
                         "\nDeposit=10000000"+
                         "\nCurrency=RUR"+
                         "\nProfitInPips=1"+
                         "\nLeverage=100"+
                         "\nExecutionMode=0"+
                         "\nOptimizationCriterion=6"+
                         "\nVisual=0";
    MTTESTER::SetSettings2(TesterInput);
    MTTESTER::ClickStart();
    while(!MTTESTER::IsReady() && !IsStopped())
      Sleep(100);
    CloseAllOtherCharts();
}

void OnStart()
{
  for(int i=0;i!=1000 && !IsStopped();++i)
  {
    StartTest("AFLT-12.19");
    StartTest("ALRS-12.19");
    Print((string)i);
  }
}
Документация по MQL5: Константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции
Документация по MQL5: Константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции
  • www.mql5.com
Импортируемая функция не может иметь такого параметра (нельзя передавать указатель, класс или структуру, содержащую динамический массив, указатель, класс и т.д.) Недопустимый возвращаемый тип. Например, такая ошибка будет...
 
traveller00:

以下は、再生に必要な最小限の設定である。

再生なし。1000のタスクはすべて機能する。ただし、コードでチャートを閉じるので、バックテストチャートの自動オープンのチェックボックスをオンにしておく必要がある。私はこのオプションを無効にしている。おそらくこれが原因でしょう。

 
fxsaber:

バックテストチャートの自動オープンにチェックを入れる。

もっとつまらない質問をします。このチェックボックスはどこにありますか?MT5では見つけられませんでした。

 
traveller00:

もっとつまらない質問になる。このチェックボックスはどこにありますか?MT5では見つけられませんでした。

 
traveller00:

スクリプトは、それを削除しようとするとターミナルを一時停止するはず です。