Errores, fallos, preguntas - página 1525
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
MT4. Una vez más, me gustaría llamar su atención sobre las peculiaridades de la inicialización de las variables globales del programa.
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Bichos, errores, preguntas
Slawa, 2016.02.24 07:34
Cola. La aplicación sólo tiene dos horas.
En general, este tipo de preguntas deben hacerse en el foro. Porque muchos pueden verse afectados. Me tomaré la libertad de citarte y responderte inmediatamente
Se trata de un comportamiento planificado. De hecho, se describe explícitamente en la documentación
La carga y la descarga implican una reinicialización completa de todo.
En el cinco, como bien has notado, la situación es similar.
Es cierto, históricamente era en el cuatro, y cambiamos este comportamiento al principio al cambiar al nuevo MQL4 (para que se comporte como en los expertos, es decir, como se espera). Pero surgieron muchas dudas con los antiguos indicadores, que se basaban en esta inicialización. Nos vimos obligados a volver
En los cinco, este fue el caso inmediatamente debido a la arquitectura. Cuando se cambian los parámetros, se destruye el antiguo indicador con los antiguos parámetros y se crea el nuevo indicador con los parámetros modificados.
Gracias. Conclusión - una cita de la documentación: "... función predefinida OnInit(), cuyo propósito es la correcta inicialización de todas las variables globales y estáticas del programa."
Así que pon a cero o por defecto todas las variables globales o arrays aOnInit().
1. Creo un array de la forma
CArrayString list[5];
2. Intento llamar a la lista de métodos mediante <Ctrl+Espacio>.
list[0].
La lista de métodos no aparece. ¿Se supone que debe ser así?1. Creo un array de la forma
2. Intento llamar a la lista de métodos en el código mediante <Ctrl+Espacio>.
La lista de métodos no aparece. ¿Se supone que debe ser así?Permítanme que intente hacer una conjetura. Si hay otros errores en el código además de que el método/miembro no está especificado, la lista no siempre aparecerá.
Lo he probado. No, suposición equivocada. Pero unas cuantas pulsaciones repetidas de la combinación ayudaron.
Alexey Kozitsyn:
Pero unas cuantas pulsaciones repetidas de la combinación ayudaron.
Lamentablemente su receta no me funciona.
1. Código simple:
resultado: 50
2. Añadir entrada de modificadores:
resultado: 4294967276
Se esperaba un resultado de 50. ¿En qué me equivoco?
1. Código simple:
resultado: 50
2. Añadimos una entrada modificadora:
resultado: 4294967276
Esperaba un resultado de 50. ¿En qué me equivoco?
fmax compara dos números dobles. Así que es así:
y el resultado:
fmax compara dos números dobles. Así que es así:
En MQL, se declara y se realiza una conversión de tipo implícita. En particular uint -> double.
La cuestión es por qué no funciona correctamente con las variables de entrada.
1. Código simple:
resultado: 50
2. Añadir el modificador de entrada:
resultado: 4294967276.
Esperaba un resultado de 50. ¿En qué me equivoco?
Por favor, dame el código completo.
Hay dos posibilidades aquí y ambas son erróneas.
1. El código se ejecuta fuera de cualquier función.
2. la variable de entrada se declara dentro de la función