Errores, fallos, preguntas - página 1435

 

Al principio pensé que era un problema con mis indicadores, pero luego me di cuenta de que todo tiene fallos.

Cuando cargo el terminal, el historial de citas sigue siendo el mismo (como si la sesión anterior no existiera) y el historial no se actualiza automáticamente.

El precio es antiguo, pero por alguna razón los búferes de los indicadores muestran el cálculo anterior (precios nuevos).

Cuando el mercado está abierto, la "mierda" se actualiza (aparentemente en un nuevo tick) y todo se normaliza.

Cuando el mercado está cerrado, puede contemplar la "basura" de los topes "para el fin de semana", a menos que actualice forzosamente las cotizaciones.

A modo de ilustración, adjunto el gráfico con la SMA estándar del conjunto de indicadores de MT5:

Indicador estándar, por ejemplo

Bild 2010, y era lo mismo en las antiguas.

 

¿Qué pasó con MT5?

me levanté por la mañana y ningún EA en el probador de estrategias funciona... no hay posiciones abiertas...

Anoche todos funcionaron... hoy más de 10 EAs dejaron de funcionar

tanto las antiguas como las nuevas

 

Error de compilación: error de generación de código

class A { public:
        void g() {}
};
struct B {
/**/    virtual void f() { g(); }
        virtual void g() {}
};
A *f() export { return new A(); }
void OnStart()
{
        f().g();
}
Por ejemplo, si se elimina la exportación o se comenta la línea /**/, el error desaparecerá, lo que significa que el compilador necesita mejorar.
 

¿Qué costumbre tienen los creativos de la web de cambiar los nombres de los archivos adjuntos?

Envío un indicador compilado con el nombre requerido IndicatorCAF.ex4. En el archivo adjunto, "sitio inteligente" reescribe el nombre como él necesita: Indicator0AF_01.ex4.

¿Dime por qué? ¿Qué sentido práctico tiene esto? ¿Cuál es la verdad? Bueno, está bien no entiende los nombres rusos y los rebautiza a su antojo - todavía es comprensible. Pero, ¿por qué cambiar el nombre de un archivo escrito en inglés por otro? Es un nombre, no un número...

Selecciono IndicatorCAF.mq4


El nombre adjunto a este mensaje es correcto: IndicatorCAF.mq4


Envío un mensaje y voilá.

Por alguna razón añadí _01 a mi anterior archivo ex4 (por eso tengo dudas)...

Ok, ya he adjuntado un archivo con ese nombre - es comprensible, pero este es el primer archivo. Todavía no he encontrado esos nombres en nuestra correspondencia.


Y lo curioso es que ese archivo ex4 compilado en mi MetaEditor Versión: 5.00 build 1214 12 Nov 2015 no muestra 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?

Y entonces surge la pregunta obvia: ¿cómo se comportarán los programas compilados en mi editor para el mercado? La compilación del terminal es la 910, pero es incompatible con versiones anteriores debido al nuevo compilador. ¿Los programas compilados en mi editor funcionarán en el mercado?

 

¿Por qué la calidad de este icono de terminal.exe es tan pobre? Se utiliza para mostrar todos los .ex5 en el sistema de archivos

(3º desde terminal.exe, si la numeración es a partir de 1)

Los demás iconos son de calidad normal, por ejemplo

(1ª) y(última)

 

Error de compilación: error de optimización del árbol

#property library
class A {};
A *f() export { return new A; }
void g() {}
int h( int a, int b ) { return b; }
class B {
       virtual int function() { return h( int(g()), 1 ); }
};

Pero si se elimina la palabra clave virtual

class B {
              int function() { return h( int(g()), 1 ); }
};
entonces está bien. ¿Qué efecto tuvo?
 
A100:

Error de compilación: error de optimización del árbol

Y si se elimina la palabra clave virtual

entonces está bien. ¿Qué efecto tuvo?
¿Me he quedado algo dormido? ¿Ahora también se pueden exportar los métodos? ¿Se pueden exportar también las clases?
 
coderex:
??? ¿Me he perdido algo? ¿Ahora también se pueden exportar los métodos? ¿Y las clases para exportar también están disponibles?

¿Qué línea indica que el método ha sido exportado? El puntero siempre puede ser devuelto. f() no es un método de la clase - es una función en sí misma.

Además, nos referimos al "error de optimización del árbol" abstracto no relacionado con una cadena concreta, que es un error en sí mismo. Además, si se puede resolver simplemente "reordenando las cadenas" (eliminando la palabra clave virtual), se trata de un doble error.

 
A100:

¿Qué línea indica que el método ha sido exportado? El puntero siempre puede ser devuelto. f() no es un método de la clase - es una función en sí misma.

Además, nos referimos al "error de optimización del árbol" abstracto no relacionado con una cadena concreta, que es un error en sí mismo. Además, si se puede resolver simplemente "reordenando las cadenas" (eliminando la palabra clave virtual), se trata de un doble error.

He escrito mal, sobre el método, quise escribir un objeto de clase (es de noche después de todo :) )

A *f() export { return new A; }

y no discuto lo que has escrito, sólo me sorprende, porque en la ayuda dice lo de exportar sólo para funciones, y resulta que también se pueden exportar objetos.

 
BaTTLeBLooM:

¿Qué pasó con MT5?

me levanté por la mañana y ningún EA en el probador de estrategias está funcionando... no hay posiciones abiertas...

Anoche todos funcionaron... hoy más de 10 EAs dejaron de funcionar

tanto las antiguas como las nuevas

Describa el problema con más detalle. ¿Qué modelo, qué sistema operativo y qué velocidad de bits? ¿Qué hay en los registros de los probadores?