Librerías: MultiTester - página 29

 
pcdeni #:

así que, no.

 
Gestionar LiveUpdate del terminal.
// Cambio del estado LiveUpdate del terminal.

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

void OnStart()
{
  const bool IsLiveUpdate = MTTESTER::IsTerminalLiveUpdate();
                     
  if (MessageBox("Current LiveUpdate - " + (IsLiveUpdate ? "ON" : "OFF") + ".\n\nWant to switch?",
                 "LiveUpdate Status", MB_YESNO) == IDYES)
   MessageBox("Current LiveUpdate - " + ((IsLiveUpdate ? !MTTESTER::TerminalLiveUpdateOFF() : MTTESTER::TerminalLiveUpdateON()) ? "ON." : "OFF."));
}
 
fxsaber #:
Gestión del terminal LiveUpdate.
Gracias.
 
Activar/desactivar la escritura en disco de los registros durante la optimización.
// // Activar/desactivar los registros del comprobador (Optimización).
#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/es/code/26132

#define  INPUT_TESTER_LOG inTesterLog
#define  TOSTRING(A) #A

sinput bool INPUT_TESTER_LOG = true; // Activar/desactivar los registros del comprobador

void OnTesterInit()
{
  string Settings;
  
  if (MTTESTER::GetSettings(Settings))  
    MessageBox("TesterLog - " + (((MTTESTER::GetValue(Settings, TOSTRING(INPUT_TESTER_LOG)) == "true")
                                   ? MTTESTER::TesterLogON(true)
                                   : !MTTESTER::TesterLogOFF(true)) ? "ON." : "OFF."));
  
  ChartClose();
}

void OnTesterDeinit() {}

input int inRange = 0;


Activar.


Desactivar (acelerar la Optimización).


S

Foro sobre negociación, sistemas automatizados de negociación y prueba de estrategias de negociación

Errores, fallos, preguntas

fxsaber, 2022.09.04 17:55

#property script_show_inputs

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

sinput bool inTesterLog = true; // Activar/desactivar los registros del comprobador

void OnStart()
{
  MessageBox("TesterLog - " + ((inTesterLog ? MTTESTER::TesterLogON(true) : !MTTESTER::TesterLogOFF(true)) ? "ON." : "OFF."));
}
 
Se ha añadido a MTTester.mqh una solución para posibles conflictos al trabajar con comprobadores paralelos.
Несколько MT5-тестеров параллельно на одной машине.
Несколько MT5-тестеров параллельно на одной машине.
  • www.mql5.com
Автоматизация MT5-Тестера потребовала параллельного использования нескольких Тестеров на одной машине: оптимизация ( MultiTester ) и одиночные проходы ( Validate и TesterDashboard ). Необходимость
 

fxsaber #:
В MTTester.mqh добавлен обход возможных конфликтов при работе с параллельными Тестерами.

Observe la dirección resaltada de cada agente en la captura de pantalla: 127.0.0.1:30xx. No se solapan. Es decir, cada núcleo de CPU está ocupado por su propio agente. MT5 asigna los agentes de forma correcta.

Pregunta sobre la frase del blog. No estoy seguro de que la asignación automática de procesos por número de puerto garantice que se repartan entre los distintos núcleos sin posibles solapamientos. ¿Cuántos núcleos hay en la captura de pantalla anterior? Y, por ejemplo, ¿qué ocurre si se ejecutan 2 optimizaciones en paralelo?

 
Stanislav Korotky #:

Pregunta sobre una frase del blog. No estoy seguro de si la partición automática de los procesos por número de puerto garantiza que se distribuyan entre los distintos núcleos sin solapamientos potenciales. ¿Cuántos núcleos hay en la captura de pantalla anterior? Y, por ejemplo, ¿qué ocurre si se ejecutan 2 optimizaciones en paralelo?

En la captura de pantalla hay 20 núcleos: 18 para la optimización en un terminal y uno para pasadas individuales - otro terminal. TaskManager muestra que 19 de los 20 núcleos están completamente cargados (5% cada uno). Libre ~4%.

No he practicado la optimización en paralelo. No es necesario por ahora.

 
fxsaber #:

Hay 20 núcleos en la pantalla: 18 para optimización en un terminal y uno para pasadas individuales - otro terminal. TaskManager muestra que 19 de los 20 núcleos están totalmente cargados (5% cada uno). Libre ~4%.

Gracias. Por lo que tengo entendido, sólo se trata de la "paralelización" del acceso a los archivos, y la configuración de los núcleos para los agentes todavía tiene que hacerse manualmente?

 
Stanislav Korotky #:

Gracias. Por lo que tengo entendido, sólo se trata de la "paralelización" del acceso a los archivos,

el acceso al portapapeles del sistema. No se trata de los archivos.

¿Todavía tengo que hacer la configuración del kernel del agente a mano?

Yo no hago nada.

 
fxsaber #:

Acceso al portapapeles del sistema. Los archivos no están implicados.

No estoy haciendo nada.

No vi en los cambios del código fuente que se hiciera algo con el portapapeles.

Si ejecutas la optimización, ¿no se llevarán todos los núcleos disponibles a la vez? No entiendo cómo una sola prueba "quitó" un núcleo de la optimización (de hecho, incluso 2 agentes de la MT de optimización están marcados como desactivados).