Bibliotheken: MultiTester - Seite 33

 
Hallo, eine sehr nützliche Sache, Sie haben auch einen Portfoliotester, wo man Berichte in einem zusammenfassen kann, auch eine sehr nützliche Sache, aber ich habe diese Idee - planen Sie nicht, diese beiden Tools zu kombinieren und einen automatischen Portfoliooptimierer zu machen? Damit die Ergebnisse der Optimierung sofort als Teil des Portfolios mit den gleichen Ergebnissen ausgewertet werden - so dass es keine Korrelation bei Drawdowns und so weiter gibt, mit der Zielfunktion des gesamten Portfolios nach Sharpe oder Erholungsfaktor und zusätzlichen Filtern, zum Beispiel nach der Anzahl der Trades. Dies würde viel manuelle Arbeit und Zeit einsparen, da die Ergebnisse der Optimierung jetzt manuell zu einem Portfolio kombiniert werden müssen, und wenn es Hunderte von ihnen gibt....
 
Wie erhält man die Eingabeparameter eines bestimmten Laufs aus dieser Bibliothek? TESTERCACHE Cache; Cache[i] Eingaben
 

Hallo!

Letzten Dezember habe ich Ihre Bibliothek ausgeführt und die Optimierung für über 100 benutzerdefinierte Zeichen durchgeführt.

Heute habe ich versucht, sie erneut auszuführen, aber die einzige Fehlermeldung im Protokoll des Testers lautet "Optimierung kann nicht gestartet werden". Ich habe die Bibliothek aktualisiert.

Ich habe versucht, mit verschiedenen Symbolen zu arbeiten, ich habe versucht, Ihr MultiTester_example auszuführen, ich habe verschiedene Builds von Metatrader 5 ausprobiert, verschiedene Optimierungseinstellungen, ich habe versucht, mit einem regulären Moving Average Expert Advisor zu arbeiten, aber der Fehler tritt immer noch auf, ich habe keine detaillierteren Protokolle gefunden. Könnten Sie mir bitte sagen, ob jemand so etwas schon einmal erlebt hat? Wie kann es behoben werden?

 
Jekamajor #:

der einzige Fehler im Protokoll des Testers lautet "Optimierung kann nicht gestartet werden".

Was ist die Reaktion auf den manuellen Start der Optimierung?
 
fxsaber #:
Wie ist die Reaktion auf die manuelle Durchführung der Optimierung?


Die manuelle Optimierung wird gestartet, ausgeführt und ohne Fehlerbeendet. Screenshot der Protokolle. Oben ist der Start der Optimierung mit dem einfachen gleitenden Durchschnitt zu sehen, unten der Start mit denselben Parametern, aber über die Bibliothek.

 
Jekamajor #:

Nachfolgend sehen Sie den Start mit denselben Parametern, aber über die Bibliothek.

Warum wird dieser Expert Advisor im Tester selbst ausgeführt? Er wird auf den Terminal-Chart geworfen, nicht auf den Tester.

 
fxsaber #:

Warum wird dieser Expert Advisor im Tester selbst ausgeführt? Er wird auf den Terminal-Chart geworfen, nicht auf den Tester.

Ja, in der Tat! Ich habe vergessen, wie man ihn seit einem Jahr startet. Wenn ich ihn auf den Chart ziehe, startet er und funktioniert. Herzlichen Dank für Ihre Hilfe!
 
Bitte geben Sie ein Beispiel dafür, wie man Code für mehrere sequentielle Optimierungen schreibt, die unterschiedliche Eingabeparameter benötigen.
 
Soroush Kheradmand #:
Bitte geben Sie ein Beispiel dafür, wie man Code für mehrere sequentielle Optimierungen schreibt, die unterschiedliche Eingabeparameter benötigen.

#include <fxsaber\MultiTester\MTTester.mqh>    // https://www.mql5.com/de/code/26132

#define _CS(A) ((!IsStopped()) && (A))
#define  PAUSE 200

void Run( const string Settings )
{
  while (_CS(!MTTESTER::IsReady()))
    Sleep(PAUSE);

  MTTESTER::CloseNotChart();
    
  if (_CS(MTTESTER::SetSettings2(Settings)))
    MTTESTER::ClickStart(false);

  while (_CS(!MTTESTER::IsReady()))
    Sleep(PAUSE);
}

void OnStart()
{
  string Settings[] = {"[Tester]\n" +
                       "Expert=Input_String_Example_Alternative.ex5\n" +
                       "Symbol=EURUSD\n" +
                       "Period=M1\n" +
                       "Optimization=2\n" +
                       "Model=4\n" +
                       "FromDate=2023.01.01\n" +
                       "ToDate=2024.01.01\n" +
                       "ForwardMode=0\n" +
                       "Deposit=1000000000\n" +
                       "Currency=USD\n" +
                       "ProfitInPips=1\n" +
                       "Leverage=100\n" +
                       "ExecutionMode=0\n" +
                       "OptimizationCriterion=6\n" +
                       "[TesterInputs]\n" +
                       "inAmount=1||1||1||10||N\n" +
                       "inCount=2||2||1||20||N\n" +
                       "inPeriod=3||3||1||30||N\n" +
                       "inKoef=4.56||4.56||0.456000||45.600000||N\n" +
                       "inLog=7.89||7.89||0.789000||78.900000||N\n" +
                       "inFlag=true||false||0||true||N"
                      };

  for (uint i = ArraySize(Settings); (bool)i--;)
    Run(Settings[i]);
}

Die Testereinstellungen werden mit STRG+C/V gespeichert. Sie können sie in separaten Dateien speichern und dann das Settings[] -Array in der obigen Quelle mit Daten aus diesen Dateien füllen.

 

Gibt es eine einfache Möglichkeit, die Daten in ein Array zu machen? Ich muss 20 Set-Dateien mit jeweils 108 Zeilen hinzufügen, also 2160 Zeilen, um " " + manuell hinzuzufügen, damit sie ein Array werden?

Ich würde es vorziehen, die Set-Dateien persönlich zu laden: "D:/\MT5Tester2\MQL5\Profiles\Tester\MT5 v1.14 bat XU BB+ENV+RSI.set" usw. usw., aber ich bin ein Normalsterblicher und weiß nicht, wie man so etwas programmiert. Ihr EA ist sehr cool, aber verflixt :D

#include <fxsaber\MultiTester\MTTester.mqh>    // https://www.mql5.com/de/code/26132

#define _CS(A) ((!IsStopped()) && (A))
#define  PAUSE 200

void Run( const string Settings )
{
  while (_CS(!MTTESTER::IsReady()))
    Sleep(PAUSE);

  MTTESTER::CloseNotChart();
    
  if (_CS(MTTESTER::SetSettings2(Settings)))
    MTTESTER::ClickStart(false);

  while (_CS(!MTTESTER::IsReady()))
    Sleep(PAUSE);
}

void OnStart()
{
  string Settings[] = {[Tester]
                        Expert=MT5 White Rabbit v1.14.ex5
                        Symbol=XAUUSD
                        Period=M5
                        Optimization=2
                        Model=4
                        FromDate=2023.02.01
                        ToDate=2024.10.01
                        ForwardMode=0
                        Deposit=20000
                        Currency=USD
                        ProfitInPips=0
                        Leverage=100
                        ExecutionMode=200
                        OptimizationCriterion=6
                        [TesterInputs]
                        OnTester=------------ On Tester ------------
                        MinTrades=60||120||1||1200||N
                        MaxEquityDrawdown=3.0||20.0||2.000000||200.000000||N
                        CustomMax=------------ Custom Max ------------
                        EA_Expires=2024.12.25
                        Enable_Buy=true||false||0||true||N
                        Enable_Sell=true||false||0||true||N
                        TRADE_TIMES=------------ TIME SETTINGS ------------
                        StartTime_1=1||1||3||10||N
                        Stop_Time_1=9||9||4||21||Y
                        Monday=true||false||0||true||N
                        Tuesday=true||false||0||true||N
                        Wednesday=true||false||0||true||N
                        Thursday=true||false||0||true||N
                        Friday=false||false||0||true||Y
                        Weekend=false||false||0||true||N

                        // nächster Satz
                        [Tester]
                        Expert=MT5 White Rabbit v1.14.ex5
                        Symbol=XAUUSD
                        Period=M5
                        Optimization=2
                        Model=4
                        FromDate=2023.02.01
                        ToDate=2024.10.01
                        ForwardMode=0
                        Deposit=20000
                        Currency=USD
                        ProfitInPips=0
                        Leverage=100
                        ExecutionMode=200
                        OptimizationCriterion=6
                        [TesterInputs]
                        OnTester=------------ On Tester ------------
                        MinTrades=60||120||1||1200||N
                        MaxEquityDrawdown=3||20.0||2.000000||200.000000||N
                        CustomMax=------------ Custom Max ------------
MultiTester
MultiTester
  • www.mql5.com
Множественные прогоны/оптимизации в Тестере.