Errores, fallos, preguntas - página 41

 
alexvd:

Su solicitud ha sido respondida. Se ha hecho una recomendación.

La razón por la que no se ha actualizado en su perfil depende de nosotros.

Aplicación

Errores, MetaTrader 5 MQL, Abierto, Iniciado: 2010.07.03 14:51, #17988

Probablemente no se haya actualizado también, por favor, compruébelo.

 
drknn:

Conozco la lógica formal y las diferencias en los términos me llamaron la atención inmediatamente. La cuestión es que leyendo la ayuda de MQL5 no se aclaran muchas cosas. Está claro que los metaquotes han puesto el terminal a disposición del público para atraer al grupo de beta-testers - este paso ahorrará tiempo y dinero. Pero dar a los usuarios una referencia que carece de claridad es un gran error por su parte. Por ejemplo, abrimos su sección principal"Conversión MQL4":

La tabla no da información sobre elAsk, Bid y Bars. Un intento de búsqueda de la misma palabraAsk lleva a un diseño completamente incomprensible de solicitud de los últimos precios. ¿No podría el desarrollador haber previsto esto en su momento, en la fase de escribir esta parte de la ayuda? Tonterías, ¿por qué podría suceder? La única razón es la falta de sistematicidad, es decir, la ausencia de un plan claro del futuro ensayo. Lo más probable es que el certificado se escribiera por partes, luego se pegaran las piezas separadas y ahí tienes un "certificado". No es bueno para nada. A nadie le gusta leer los borradores de otras personas.

Hasta cierto punto tienes razón, la documentación de MQL5 cambia y se modifica constantemente, al igual que el propio lenguaje MQL5. Y seguirá cambiando durante varios años, ya que hay una gran cantidad de cosas por implementar. ¿Así que sugiere que estamos creando un nuevo terminal en un vacío en el laboratorio durante estos pocos años, sin ninguna respuesta de nuestros usuarios finales, nuestros clientes?

Sobre la sección más importante.

Por ejemplo, abrimos la sección principal"Conversión MQL4":

También ha tenido tiempo de sufrir algunos cambios desde que se publicó por primera vez, pero es imposible decir cuándo estará la versión definitiva. Y no podemos mirar siempre hacia atrás en MQL4. Estudiar MQL5 y leer artículos - realmente nos ayudan a estudiar un nuevo tema.

 
Después de instalar la nueva compilación, mis EAs en la carpeta C:\NArchivos de Programa\NMetaTrader 5\MQL5\NExpertos desaparecen. Los coloco sin subcarpetas, ¿podría ser un error?
 
icas:
Después de instalar la nueva compilación, mis EAs en la carpeta C:\NArchivos de Programa\NMetaTrader 5\MQL5\NExpertos desaparecen. Los coloco sin ninguna subcarpeta - ¿podría estar mal?
¿Se han borrado completamente del disco?
 
Renat:
¿Se han retirado completamente de la unidad?
¡Renate, lo siento! Me confundí con los ordenadores. Quería borrar el comentario, ya has contestado.
 
¿Por qué el compilador es "silencioso" al compilar la siguiente construcción?
ushort SomeFunction(int A, int B)
   {
    ushort res=0;
    ushort id=1000;
    res=(A>B)?id:NULL;  ????? 
    
    return(res);
   }
Todo se compila sin errores :)
 
Kos:
¿Por qué el compilador es "silencioso" al compilar la siguiente construcción?
Todo se compila sin errores :)
¿Qué error esperaba ver?
 
stringo:
¿Qué error esperaba ver?

La ayuda indica explícitamente que "expresión2" y "expresiónZ" deben devolver valores del mismo tipo y no deben ser del tipo void.

En consecuencia, la siguiente construcción es incorrecta porque NULL es de tipo void y el compilador debería informar de ello, ¿no?

res=(A>B)?id:NULL;  ?????
 
¿Qué sentido tiene compilar una construcción de este tipo si hace imposible cargar un programa MQL5?
 

NULL es una constante especial. "Se puede asignar a variables de cualquier otro tipo fundamental sin convertirlas".

Es decir, en las expresiones NULL es de tipo expresión, no de tipo void.

Si te refieres a una instrucción no válida, es un error y se arreglará.