Preguntas de un "tonto" - página 229

 
Rosh:

La propiedad #property tester_file está pensada precisamente para no poner nada a mano en ningún sitio.

archivo_de_prueba

cadena

Nombre del archivo para el probador, especificando su extensión y encerrado entre comillas dobles (como una cadena constante). El archivo especificado se pasará al probador para que trabaje. Los archivos de entrada para las pruebas, si son necesarios, deben especificarse siempre


Si algún archivo datafile. csv es requerido para la operación del programa, y se encuentra en terminal_directory\MQL5\Files, el archivo será movido automáticamente por el probador atesting_agent_directory\MQL5\Files (para esto se debe especificar la #propiedad tester_file datafile.csv).

¿Lo mismo ocurre cuando un archivo de prueba se encuentra en la carpeta común del terminal?

Si añado la línea:

#property tester_file "Test.txt"

...me sale un error como este:


//---

Quiero transferir archivos a la nube desde la carpeta compartida del terminal. ¿Cómo lo hago?

 
tol64:

¿Sucede lo mismo cuando el archivo de prueba está en la carpeta compartida del terminal?

Si añado la línea:

...me sale un error como este:


//---

Quiero transferir archivos a la nube desde la carpeta compartida del terminal. ¿Cómo lo hago?

Creo que ya se ha hablado de esto y se ha comprobado que de momento no se pueden transferir archivos a la nube.
 
lazarev-d-m:


Creo que ya se ha hablado de esto y se ha descubierto que, por el momento, no se pueden transferir archivos a la nube.

Necesito un enlace a una discusión sobre este tema entonces. ¿Dónde se ha discutido esto?

Yo mismo me baso en algunas discusiones anteriores y en el artículo: MQL5 Cloud Network acelera los cálculos, pero algo no funciona.

Se pulsa el botón "Start" y se inicia el proceso de optimización. El terminal prepara la tarea para los agentes de prueba, que incluye:

  • Tengo un archivo compilado de mi Asesor Experto como EX5;
  • indicadores y bibliotecas EX5 conectados por las directivas #property tester_indicator y #property tester_library (las DLL están definitivamente prohibidas en la nube)
  • archivos de datos necesarios para las pruebas, que se conectan mediante la directiva #property tester_file;
  • condiciones de prueba/optimización (nombre de seguridad, intervalo de prueba, modo de simulación, etc.)
  • entorno de negociación (propiedades del símbolo, condiciones de negociación, etc.)
  • un conjunto de parámetros del Asesor Experto, que forman todos los pases necesarios - tareas.

El terminal MetaTrader 5 se comunica con los nodos de la red MQL5 Cloud Network y da a cada nodo un lote separado de tareas para la ejecución de pases específicos. Cada nodo es en realidad un proxy, ya que recibe una tarea y un paquete de tareas (pases simples), y luego comienza a distribuir estas tareas a los agentes conectados a él. En este caso, el Asesor Experto, el indicador, la biblioteca y los propios archivos de datos no se guardan en los discos duros de los servidores de MQL5 Cloud Network.

//---

Por ahora he movido el archivo de optimización a la carpeta local del terminal. El error anterior no se produce en este caso. Las pruebas en todos los modos y la optimización se ejecutan con normalidad, pero al intentar activar la optimización en la nube, el registro se llena de mensajes como estos:

//---

Y de vez en cuando aparecen resultados de optimización cero. La espera es bastante larga (unos diez minutos), pero no pasa nada.

//---

Finalmente descubrí que para muchos personajes la optimización en la nube "no está disponible" (EA es multidivisa). He intentado cambiar la lista de símbolos manualmente y resulta que si añado estos símbolos, la optimización no se inicia (desde 2010 hasta el día actual):

NZDUSD,GBPUSD,EURJPY,EURGBP

En cuanto los he eliminado de la lista, todo empieza a funcionar. Pero me alegré demasiado pronto. En cuanto aumento la cantidad de historial vuelvo a ver la misma situación (cero resultados). Mi Asesor Experto está usando mucha memoria:

//---

¿Dónde buscar, qué hacer?

 
tol64:

Necesito un enlace a una discusión sobre este tema entonces. ¿Dónde se ha discutido esto?

Yo mismo me baso en algunas discusiones anteriores y en el artículo: MQL5 Cloud Network acelera los cálculos, pero algo no funciona.

//---

Por ahora he movido el archivo de optimización a la carpeta local del terminal. El error anterior no se produce en este caso. Las pruebas en todos los modos y la optimización funcionan bien, pero cuando intento activar la optimización en la nube, el registro se llena de mensajes como estos:

//---

Y de vez en cuando aparecen resultados de optimización cero. La espera es bastante larga (unos diez minutos), pero no pasa nada.

//---

Finalmente descubrí que para muchos personajes la optimización en la nube "no está disponible" (EA es multidivisa). He intentado cambiar la lista de símbolos manualmente y resulta que si añado estos símbolos, la optimización no se inicia (desde 2010 hasta el día actual):

NZDUSD,GBPUSD,EURJPY,EURGBP

En cuanto los he eliminado de la lista, todo empieza a funcionar. Pero me alegré demasiado pronto. En cuanto aumento la cantidad de historial vuelvo a ver la misma situación (cero resultados). El Asesor Experto utiliza mucha memoria:

//---

¿Dónde buscar, qué hacer?

¿He entendido bien que consigues enviar de alguna manera el archivo y las carpetas del terminal a otros ordenadores para utilizarlos en el trabajo del EA?
 
lazarev-d-m:
¿He entendido bien que consigues enviar de alguna manera el archivo y las carpetas del terminal a otros ordenadores para utilizarlos en el trabajo del EA?
Sí, si el archivo no está en la carpeta compartida del terminal, se puede utilizar en la nube.
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала - Документация по MQL5
 
tol64:

... Las pruebas en todos los modos y la optimización funcionan bien, pero al intentar activar la optimización en la nube, el registro se llena de mensajes como este:

...

Un error de envío del historial aparece en el registro: error de envío del historial

Hay algo que falla en la historia. ¿Qué debo hacer en este caso? Quiero optimizar los parámetros a partir del año 2000 por múltiples caracteres.

 
lazarev-d-m:

Tomar la declaración de la variable detrás de la función OnInit y asignar un valor bool - todo funcionó para mí en el probador y en la depuración a la vez

¿Suelen dar estos consejos "útiles" en esta sección? Y si fuera un principiante, buscaría un problema medio año después de este consejo :)

El tipo bool está destinado a almacenar los valores lógicos true o false, que representan numéricamente 1 o 0 respectivamente.

Significa que deliberadamente haces que una variable sea 0 o 1 y luego la comparas con un número negativo y concluyes que todo funciona.

La pregunta es por qué este código se niega a funcionar en el probador:

int OnInit()
  {
int cl_ctx;
if((cl_ctx=CLContextCreate(CL_USE_ANY))==-1)
  {
    Print("OpenCL not found! Err: ", GetLastError());
    return(-1);
  }
Print("Ok!!!");
return(0);
  }

void OnTick() {} 
 
MigVRN: Por qué este código no funciona en el probador:

¿Qué tipo de error devuelve?

No sé nada de OpenCL, pero ya he visto un hilo sobre OpenCL y el probador. ¿Quizás el probador simplemente no soporta esta característica? Echa un vistazo al tema OpenCL: pruebas de implementación interna en MQL5

 
Yedelkin:
¿Qué tipo de error se devuelve?

En esta variante - 0 :)

No se ha encontrado OpenCL. Err: 0
 
Yedelkin:

No sé sobre OpenCL, pero de alguna manera me encontré con un hilo sobre OpenCL y un probador. ¿Quizás el probador no soporta esta característica? Mira el tema OpenCL: pruebas de implementación interna en MQL5

Aquí es donde dicen que funciona.