Errores, fallos, preguntas - página 2473
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Actualmente no es posible utilizar una variable estática declarada dentro de una clase de plantilla.
Con la introducción de un espacio de nombres, ¿podría obviarse esta restricción?
Sí, puedes hacerlo.
El código será ligeramente diferente, más correcto, aquí hay un ejemplo:
Resultado:
¿Es posible obtener acceso alfa a MT con soporte de espacio de nombres?
Realmente se necesita como parte de un estudio para poder escribir un "contenedor inteligente", no para buscar errores/vulnerabilidades, etc.
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Bichos, errores, preguntas
Sergey Dzyublik, 2019.05.23 13:52
He estado trabajando con mi corredor por última vez, y he encontrado una docena de errores y "peculiaridades" en MT.
¿Cómo saber si merece la pena esperar a que se arreglen o no?
Por favor, no sugieras que se pruebe todo cada vez que sale una nueva versión.
#(no solucionado en MT5(build 2059))"Error de compilación al pasar el parámetro (void*)(NULL) a la función de plantilla".
#(arreglado en MT5(build 2059)) "Probador de estrategias: 2 pases previstos, pero en la práctica número infinito de pases > 900pc debido a "error crítico OnInit"".
#(no solucionado en MT5(build 2059))"Valor inválido del campo de tamaño del array dentro del operador de asignación por defecto para estructuras con arrays dinámicos".
#(no corregido en MT5(build 2059))"El compilador no ve el constructor de copia de clase por defecto cuando devuelve un objeto de clase por valor desde una función".
#(corregido en MT5(build 2059)) "El compilador falla al ver el reparto de tipos "en sí mismo" para las clases patrón y las estructuras "complejas"".
#(no arreglado en MT5(build 2059))"Cuando se trabaja con typedef, el uso de una función de plantilla con especialización explícita no genera código para esta función de plantilla".
#(no arreglado en MT5(build 2059))"Error de compilación al reutilizar la misma firma de función dentro de typedef".
#(no corregido en MT5(build 2059))"Una parte importante de las funciones para el manejo de cadenas no funciona con caracteres NULL en una cadena (por ejemplo: ShortArrayToString, StringInit, StringFill)".
#(no arreglado en MT5(build 2059))" La función StringSetLength sólo funciona para "recortar" la longitud de la cadena, no para aumentarla.
#(arreglado en MT5(build 2057))"Probador de Estrategias: 750 procesos "metatester64.exe" se están ejecutando".
#"Foro www.mql5.com, al editar un mensaje con una imagen, la imagen anterior no se sustituye por la nueva".
Sugerencias:
#"Permitir al usuario forzar la generación/eliminación de código para el operador de asignación por defecto (constructor de copias)".
#"Permitir que ArrayCopy copie clases y estructuras "complejas", de forma similar a como las estructuras proporcionan una funcionalidad de copia profunda para cualquier tipo de objeto".
#"Proporcionar la funcionalidad para que el usuario pueda leer/establecer el valor de la capacidad cuando se trabaja con matrices dinámicas".
#"Cambios para mejorar la infografía del servicio de Señales"
Hoy en mi terminal no se carga el historial de ticks en mi cuenta del mercado de futuros real, broker Otkritie.
Los datos del teletipo están cambiando.
Ahora es 24.05.2019 23:40
El terminal tiene el último tick para el 23.05.2019.
La misma situación en algunos otros instrumentos, incluidos los que yo mismo he negociado.
En un segundo terminal (configuración independiente), en otra cuenta del mismo broker el efecto es el mismo.
Error de compilación al pasar el parámetro (void*)(NULL) a la función de plantilla:
Todo funcionaba en (build 2057), tal vez algo se estropeó como parte del arreglo:
# y#"Error de compilación al ejecutar el type cast "itself" para clases de plantilla y estructuras "complejas"".
En la compilación 2056, todo funcionaba bien. Pero en 2059 ya tiene un error de compilación:
Y si sustituimos void por A (*), todo está bien. ¿Qué diferencia hay?
Además, incluso en este caso se produce un error de compilación:
Al compilar en comando build 2059x32 error abstracto:
pero no se reproduce a través del IDE - podría ser un accidente
¿Cómo elegir entre utilizar plantillas y void*?