Preguntas de un "tonto" - página 213

 
lazarev-d-m:

Una de las formas más fáciles de insertar

donde se quiere comprobar si el código funciona o comprobar si una condición es verdadera (es decir, si todas las condiciones son verdaderas y se debe realizar una acción)

Yo, por ejemplo, inserto una alerta dentro de cada función compleja con un texto diferente, para comprobar si la función se ha ejecutado y si el EA la alcanza

Tal vez se utilizan algunas condiciones y siempre son falsas.

Gracias.
El EA simplemente deja de funcionar, sin ningún error, y tras reiniciar el terminal vuelve a funcionar.
Necesito saber cómo comprobar programáticamente si funciona o no. Aunque está en verde y no hay errores en el registro.
Y después de esa función de comprobación pondré alerta o impresión o comentario.
 
G001: ¿Puede decirme cómo comprobar si el Asesor Experto está funcionando o no?

El caso es que no hay errores en el registro, pero el EA a veces deja de funcionar, y se restablece sólo después de reiniciar el terminal.

No tengo muy claro cómo defines que "el Asesor Experto deja de funcionar a veces". Tal vez, sólo comienza un bucle sin fin. Su registro está vacío y el Asesor Experto está trabajando sin parar. O tal vez haya alguna otra característica específica.

 

Necesito una respuesta a la pregunta de este post: https://www.mql5.com/ru/forum/3775/page215#comment_379520

¿Alguien sabe la respuesta?

 
tol64: Necesito una respuesta a la pregunta de este post: https://www.mql5.com/ru/forum/3775/page215#comment_379520 ¿Alguien sabe la respuesta?

No parece haber una respuesta directa, así que nos queda especular.

Por lo tanto, el tipo de licencia se puede averiguar utilizando Mql5InfoInteger(MQL5_LICENSE_TYPE). Es decir, de todos los valores posibles de la enumeración ENUM_LICENSE_TYPE se devolverá alguno. Además - por el método de excepción: el límite de tiempo de funcionamiento(LICENSE_TIME) no puede ser devuelto junto con los tres valores anteriores de la enumeración especificada. En particular, LICENSE_TIME no debe devolverse al mismo tiempo que LICENSE_DEMO .

Con este razonamiento, yo daría una respuesta negativa a la pregunta "¿está implícito que un programa de pago para el Mercado pueda ser limitado en el tiempo en una prueba de demostración?" Porquela demo de un producto de pago del Mercado tiene su propio identificador - LICENSE_DEMO.

 
Yedelkin:

No parece haber una respuesta directa, así que nos queda especular.

Por lo tanto, el tipo de licencia se puede averiguar utilizando Mql5InfoInteger(MQL5_LICENSE_TYPE). Es decir, de todos los valores posibles de la enumeración ENUM_LICENSE_TYPE se devolverá alguno. Además - por el método de excepción: el límite de tiempo de funcionamiento(LICENSE_TIME) no puede ser devuelto junto con los tres valores anteriores de la enumeración especificada. En particular, LICENSE_TIME no debe devolverse al mismo tiempo que LICENSE_DEMO .

Con este razonamiento, yo daría una respuesta negativa a la pregunta "¿está implícito que un programa de pago para el Mercado pueda ser limitado en el tiempo en una prueba de demostración?" Porquela demo de un producto de pago del Mercado tiene su propio identificador - LICENSE_DEMO.

Creo que LICENSE_TIME puede contener tanto LICENSE_DEMO como LICENSE_TIME. Un ejemplo claro lo dan identificadores como MQL5_VISUAL_MODE y MQL5_TESTING. Es decir, ambos nos hacen saber que estamos en un probador. ))

Así que me pregunto qué habrán puesto los desarrolladores en este identificador. Y en general, si no hay posibilidad de limitar el tiempo de algunos programas de pago en modo demo, estaría bien tener esa posibilidad. Porque puede haber opciones que pueden ser muy rentables para utilizar por sí mismo los programas incluso sin comprarlos. )))

 
tol64: Y creo que tanto LICENSE_DEMO como LICENSE_TIME pueden estar contenidos en LICENSE_TIME al mismo tiempo.

Estoy de acuerdo en que he pasado por alto las peculiaridades terminológicas de los materiales de referencia, debido a las cuales el método de exclusión puede conducir a resultados incorrectos por una u otra razón. ...Bueno, al menos, los malentendidos sobre el tema han sido expresados, y sólo los autores de este listado pueden responder.

 
tol64: Y en general, si no hay posibilidad de limitar el tiempo de algunos programas de pago en modo demo, estaría bien tener esa opción. Porque puede haber opciones que pueden ser muy rentables para utilizar por sí mismo los programas incluso sin comprarlos. )))
Y usted hace esta propuesta directamente al Service Desk. al mismo tiempo y descubrir cómo son realmente las cosas :)
 
Yedelkin:

No sé muy bien cómo determinas que "el EA a veces deja de funcionar". Tal vez, sólo comienza un bucle sin fin. El registro está vacío, pero el Asesor Experto está trabajando sin parar. O tal vez se desencadene alguna otra peculiaridad.

No hay bucles. Se abre con bastante frecuencia, 10-20 veces al día, cuando veo señales de indicadores en el gráfico pero el EA no ha abierto una posición, significa que no está funcionando. Reinicioel terminal y vuelve a funcionar.
 
G001 cuando veo señales de indicadores en un gráfico pero el Asesor Experto no ha abierto una posición, significa que no está funcionando

Esto es acercarse al tema. ¿Así que resulta que su EA deja de reaccionar a las señales de los indicadores? Pero esto no significa que el EA "no funcione". Tal vez, todavía funciona, pero no de la manera prevista por el autor.

Prueba a poner un temporizador con un periodo de, por ejemplo, 10 minutos. E imprima todos los índices que sean significativos para su Asesor Experto. Comprueba si las cifras cambian con el tiempo. Si el registro está vacío también en este caso, debería acudir a Service Desk con una copia del código.

Adición. O aquí hay otra idea. Usted tiene un lugar en su código con la condición como si, después de la activación que la solicitud de comercio debe ser enviado. Intente imprimir los casos de activación/no activación de esta condición, por ejemplo:

if ()
  {
   ... 
   Print("Сработало условие такое-то, время такое-то");
  }
else
  {
   ...
   Print("Не сработало условие такое-то, время такое-то");
  }
 
Gracias. Es poco probable que el problema sea con el EA, de lo contrario la regla de reinicio del terminal no funcionaría siempre. Además, es un problema en MT4 con algunos brokers también. Sólo necesito comprobar programáticamente cuándo deja de funcionar para reiniciar antes de la siguiente señal. Se han añadido tanto las huellas como los comentarios.