Librerías: MultiTester - página 33

 
Hola, cosa muy útil, también tienen un probador de cartera, donde se pueden agregar informes en uno, también cosa muy útil, pero tengo esta idea - ¿no están planeando combinar estas dos herramientas, y hacer un optimizador automático de cartera? De modo que los resultados de la optimización serían evaluados inmediatamente como parte de la cartera con los mismos resultados - de modo que no habría correlación en drawdowns y así sucesivamente, con la función objetivo de toda la cartera por Sharpe o factor de recuperación, y filtros adicionales, por el número de operaciones, por ejemplo. Se reduciría mucho trabajo manual y el tiempo, ahora los resultados de la optimización deben ser combinados en una cartera de forma manual, y cuando hay cientos de ellos....
 
¿Cómo obtener los parámetros de entrada de una ejecución específica de esta biblioteca? TESTERCACHE Caché; Caché[i] entradas
 

¡Hola!

El pasado mes de diciembre ejecuté su biblioteca y realicé la optimización en más de 100 caracteres personalizados.

Hoy he intentado ejecutarla de nuevo, pero el único error que aparece en el registro del comprobador es "no se puede iniciar la optimización". He actualizado la biblioteca.

He probado a ejecutarlo con diferentes símbolos, he probado a ejecutar su MultiTester_example, he probado con diferentes versiones de Metatrader 5, con diferentes ajustes de optimización, he probado a ejecutarlo con un Asesor Experto de Media Móvil normal, y sigue apareciendo este error, no he encontrado ningún registro más detallado. ¿Podríais decirme si a alguien le ha pasado algo parecido? ¿Cómo se puede solucionar?

 
Jekamajor #:

el único error que aparece en el registro del comprobador es "no se puede iniciar la optimización".

¿Cuál es la respuesta al iniciar la optimización manualmente?
 
fxsaber #:
¿Cuál es la respuesta a ejecutar la optimización manualmente?


Laoptimización manual se inicia, ejecuta y finaliza sin errores. Captura de pantalla de los registros. Arriba está el lanzamiento de la optimización por Media Móvil simple, abajo está el lanzamiento con los mismos parámetros pero a través de la librería.

 
Jekamajor #:

A continuación se muestra el lanzamiento con los mismos parámetros pero a través de la biblioteca.

¿Por qué este Asesor Experto se ejecuta en el propio Probador? Se lanza al gráfico del Terminal, no al Tester.

 
fxsaber #:

¿Por qué este Asesor Experto se ejecuta en el propio Probador? Se lanza al gráfico del Terminal, no al Tester.

Sí, efectivamente. Hace un año que olvidé cómo lanzarlo. Arrastrándolo al gráfico se inicia y funciona. ¡Muchas gracias por vuestra ayuda!
 
Por favor, ponga un ejemplo de cómo escribir código para múltiples optimizaciones secuenciales que toman diferentes parámetros de entrada.
 
Soroush Kheradmand #:
Por favor, publique un ejemplo de cómo escribir código para múltiples optimizaciones secuenciales que toman diferentes parámetros de entrada.

#include <fxsaber\MultiTester\MTTester.mqh>    // https://www.mql5.com/es/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]);
}

Las configuraciones del probador se guardan mediante CTRL+C/V. Puede guardarlos en archivos separados, y luego llenar la matriz Settings[] en la fuente anterior con los datos de ellos.

 

¿Hay alguna manera fácil de hacer que los datos en una matriz? Tengo que añadir 20 archivos de conjunto, cada uno de 108 líneas por lo que 2160 líneas para añadir " " + manualmente para convertirlos en una matriz?

Cargar los archivos de configuración personalmente sería mi opción preferida, "D:/\MT5Tester2\MQL5\Profiles\Tester\MT5 v1.14 bat XU BB+ENV+RSI.set" etc etc etc pero soy un simple mortal y no se como programar nada de esto. Tu EA es muy chulo pero vaya :D

#include <fxsaber\MultiTester\MTTester.mqh>    // https://www.mql5.com/es/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

                        // siguiente serie
                        [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
Множественные прогоны/оптимизации в Тестере.