Errores, fallos, preguntas - página 1436

 
Artyom Trishkin:

Lo curioso es que el archivo ex4 compilado en mi MetaEditor Versión: 5.00 build 1214 12 Nov 2015 no muestra los objetos gráficos en la terminal de la persona a la que le doy este archivo. También tiene terminal MT4, build 910 y MetaEditor Versión: 5.00 build 1214 12 Nov 2015.

El archivo fuente del indicador compilado por él crea normalmente un ejecutable que funciona correctamente en su terminal.

¿Cuáles son estos errores?

Escribe a servicedesk (adjunta el código fuente), intentaremos reproducirlo.
 
Alexander:
Escribe a servicedesk (adjunta el código fuente), intentaremos reproducirlo.

Bien, escrito, adjunto:

Abierto, Iniciado: 2015.11.23 09:41, #1353961
 
Artyom Trishkin:

Bien, escrito, adjunto:

Abierto, Iniciado: 2015.11.23 09:41, #1353961
Gracias
 
Buenas tardes a todos. Llegué al punto de escribir EAs. He escrito el código del ejemplo, he pulsado compilar y he obtenido un error: EX4 Write error. Por favor, ayúdenme a resolver este problema. Sé que esta es probablemente la milésima vez que hago esta pregunta. Encontré algo en Internet sobre este error pero no entendí cómo solucionarlo. Quiero iniciar Metatrader con el parámetro /portable o copiar la carpeta MQL4. Estoy tratando de poner mi mano en este artículo, no sé qué hacer con él.
 
Mehanik85:
Buenas tardes a todos. Llegué al punto de escribir EAs. He escrito el código del ejemplo, he pulsado compilar y he obtenido un error: EX4 Write error. Por favor, ayúdenme a resolver este problema. Sé que esta puede ser la milésima vez que lo pregunto. Encontré algo en Internet sobre este error pero no entendí cómo solucionarlo. Quiero iniciar Metatrader con el parámetro /portable o copiar la carpeta MQL4. Ayúdenme, por favor.
Por favor, adjunte el código del ejemplo para reproducir el problema.
 
Pues esto pasa con cualquier EA, incluso si creas uno nuevo y pulsas compilar sin código.
 

Error de compilación: error de generación de código. #2

void OnStart()
{
        string text = "" + NULL; //при optimize=1
}
 
void OnStart()
{
   double var1=EMPTY_VALUE*2;
   double var2=var1/var1;
   double var3=42; // Any
   Print("var2 больше var3: ",var2 > var3);
   Print("var3 больше var2: ",var3 > var2);
}

 
Ilya Malev:

Lea la documentación

Algunas operaciones del coprocesador matemático pueden dar como resultado un número real no válido, que no puede ser utilizado en operaciones matemáticas y de comparación porque el resultado de realizar operaciones con números reales no válidos es indefinido.

Ahora presta atención a la pregunta: ¿cuál es el valor de EMPTY_VALUE*2?

 
Slawa:

Leer la documentación

Ahora presta atención a la pregunta: ¿Cuál es el valor de EMPTY_VALUE*2?

1. ¿Por qué en MT4 y MT5 este código conduce a un resultado diferente (más lógico en MT4)?

2. ¿Cómo puedo determinar en tiempo de ejecución si el número es válido o no (por ejemplo, para que el algoritmo de ordenación no entre en un bucle por ello)?