¿Cómo obtener la información de "error" del diario? - página 3

 
ydrol:

Espero no estar diciendo lo obvio, ¡y pido disculpas si lo hago!

Sospecho que todos los que responden han asumido que son conscientes, pero el diario de MT es simplemente una serie de archivos, las últimas líneas de los cuales se muestran en la interfaz gráfica de usuario.

Los archivos (para las pruebas de espalda) viven en la carpeta de instalación de MetaTrader/tester/logs

Usted puede buscar a través de entonces utilizando cualquier herramienta disponible para usted - por ejemplo, dos comando Findstr para extraer los archivos ...

cd MetaTrader Folder/tester/logs

Findstr some_text *.log

Findstr some_text *.log > small_log.txt


De nuevo, disculpas si estoy diciendo lo obvio y en realidad estás buscando algo más.


En mi primera respuesta, pregunté "El diario puede no tener toda la información, pero los archivos de registro no se eliminan son?"

Así que asumí que efectivamente estaba abriendo el diario.

Posiblemente fue una suposición errónea y está tratando de comprobar el diario, no el registro.

Si no lo sabe. puede acceder al registro haciendo clic con el botón derecho en la ventana del diario y haciendo clic en abrir. Entonces se puede abrir el último archivo de registro o el que sea.

 
Proximus:

+Yo suelo hacer hoy en día backtests con 5000-7000 operaciones o más, 1 línea para ordereropen, 3-4 líneas para trailstops ordermodify, y 1 línea para orderclose =eso son 6 líneas/operación * 7000 operaciones =eso son ~42000 líneas o modo y estoy seguro de que el diario de MT4 no guarda tantas :)

El archivo de registro . . no sólo lo que se muestra en el diario, se llevará a cabo GBs si eso es lo que quieres . . usted parece estar más interesado con el recuento de los errores en lugar de encontrarlos y solucionarlos, si eso es todo lo que quieres hacer, entonces sólo el código de un contador para cada número de error y aumentar el recuento . . cómo esto ayuda no lo sé, pero usted parece bastante insistente, así que voy a dejar a seguir con ella.
 

No hay problema, estaba respondiendo al OP. ¿Pueden utilizar herramientas para analizar los archivos de registro? Si en Linux, grep "algún texto" *.log | wc -l obtiene un recuento rápido de las coincidencias, pero no pude encontrar rápidamente un equivalente construido en Windows (pasar demasiado tiempo aquí :) ),

Ahora que lo pienso sospecho que powershell tiene algo..

 
Ovo:

No hace falta que te disculpes, pero entendí que el OP no estaba interesado en encontrar y arreglar errores, sino en sus estadísticas.
En realidad las dos cosas.quiero saber primero los tipos de errores que ocurren,porque no tengo confianza en mi código y soy bastante escéptico,así que quiero descartar todos los errores de mi EA.Después de tener algunos datos sobre ellos será más fácil corregirlos y evitarlos en el futuro.
ydrol:

No hay problema, estaba respondiendo al OP. ¿Pueden utilizar herramientas para analizar los archivos de registro? Si en Linux, grep "algún texto" *.log | wc -l obtiene un recuento rápido de las coincidencias, pero no pude encontrar rápidamente un equivalente construido en Windows (pasar demasiado tiempo aquí :) ),

Ahora que lo pienso sospecho que powershell tiene algo..

Creo que estais muy metidos en eso de la busqueda de archivos,cuando os dije que no es necesario,esa es una solucion tambien,pero es el "camino dificil".Un buen programador debe encontrar el camino optimo primero.Asi que tenemos que buscar dentro del codigo cuando todavia se puede obtener,asi que en el diario,porque el registro es demasiado grande en mi caso.Si fuera y usara el "find" en el bloc de notas me llevaria años encontrar todos los errores y sus detalles especificos.

También me olvidé de mencionar en el primer post que necesito ver las líneas vecinas en el diario, porque he añadido algunos "Print() "s que imprimirán algunos datos clave como el valor actual de los indicadores, SL, TP y se mostrará muy bien en el diario/log pero debo ver el error también asociado con esos datos, así que por ejemplo si cojo un SL con valor 0 entonces sabré que ese error es debido a eso.

Así que después de una gran búsqueda y buceo en el lenguaje mql4 he encontrado esto:

GetLastError();

Creo que la solución que necesito está dentro de esta función.He leído la documentación sobre ella,y es bastante corta.¿Puede alguien ayudarme a utilizarla o explicarla más detalladamente?

 
Proximus:

Después de una gran búsqueda y de bucear en el lenguaje mql4 he encontrado esto:

Creo que la solución que necesito se encuentra dentro de esta función.He leído la documentación sobre ella,y es bastante corta.¿Puede alguien ayudarme a utilizarla o explicarla con más detalle?

 
Bueno, creo que probablemente todos asumimos que estabas buscando impresiones de GetLastError();
 
GumRai:
Bueno, creo que probablemente todos asumimos que estabas buscando impresiones de GetLastError();
Sí, pero necesito construir un probador que compruebe los errores y los agrupe por tipo y los cuente si es posible.¿Puede alguien explicar con más detalle cómo puedo utilizar esta función en la codificación avanzada?
 
Proximus:
Sí, pero necesito construir un probador que compruebe los errores y los agrupe por tipo y los cuente, si es posible.

¿Qué son los valores de retorno de la función? ¿Cómo los utilizo?

Como controlo la salida de depuración al log

 
Proximus:

Creo que ustedes están muy metidos en eso de la búsqueda de archivos, cuando les dije que no hay necesidad de eso, esa es una solución también, pero esa es la "manera difícil".Un buen programador debe encontrar la manera óptima primero


Un buen programador utiliza las herramientas adecuadas para el trabajo. El registro es un archivo de texto. Hay un montón de herramientas para buscar en el archivo de texto y contar las líneas, y mostrar el contexto/las líneas vecinas si quieres. Estas han existido durante años. Apuesto a que algunas incluso tienen una interfaz gráfica de usuario "point-n-click" que te gustaría.

Un buen programador no programaría algo cuando no tiene que hacerlo (a menos que sea por curiosidad).

Primero le dices a los programadores lo simple que es tu código de líneas de tendencia a pesar de la falta de información, y ahora descartas la forma más simple de buscar en archivos de texto como la forma difícil?

¡Buena suerte con ello!

 

Gracias por la información, parece interesante.


ydrol:

Un buen programador utiliza las herramientas adecuadas para el trabajo. El registro es un archivo de texto. Hay un montón de herramientas para buscar en el archivo de texto y contar las líneas, y mostrar el contexto/las líneas vecinas si lo desea. Estas han existido durante años. Apuesto a que algunas incluso tienen una interfaz gráfica de usuario "point-n-click" que te gustaría.

Un buen programador no programaría algo cuando no tiene que hacerlo (a menos que sea por curiosidad).

Primero le dices a los programadores lo simple que es tu código de líneas de tendencia a pesar de la falta de información, ahora descartas la forma más simple de buscar en archivos de texto como la forma difícil?

¡Buena suerte con ello!


Tienes algunos puntos interesantes.Ok tal vez no es tan simple pero es confortable y levanta tu curiosidad.Y también me gusta programar cosas, es por pereza, es mejor si un bot hace el trabajo duro.Ese es su propósito reemplaza el trabajo humano.
Razón de la queja: