Versión beta de MetaTrader 4 IDE que incluye el nuevo compilador y editor MQL4 - página 5

 
Probablemente sea difícil encontrar una sugerencia de optimización más insignificante, pero tal vez haya llegado el momento de organizar la salida de la lista de la visión general del mercado por orden alfabético, después de todo. O es el ingeniero que hay en mí el que dice que todo debe ser paralelo/perpendicular... No es estresante, pero tampoco es feliz. Tal vez podrías añadir un par de líneas más a esas funciones preparadas en un 90%, ¿eh?
 
Zaxvatov:
Probablemente sea difícil encontrar una sugerencia de optimización más insignificante, pero tal vez haya llegado el momento de organizar la salida de la lista de la visión general del mercado por orden alfabético, después de todo. O es el ingeniero que hay en mí el que dice que todo debe ser paralelo/perpendicular... No es estresante, pero tampoco es feliz. Tal vez podrías añadir un par de líneas más a esas funciones preparadas en un 90%, ¿eh?
Hay una aplicación para eso. Pero un botón sería mejor...
 
VOLDEMAR:

Pregunta: ¿Cuándo es el nuevo mt? No puedo esperar .....

¿A qué espera exactamente? ¿Nuevos errores? (lo cual es inevitable con cambios tan importantes). ¿Te mueres de ganas de reescribir y depurar todos tus códigos que no funcionan en un momento? ¿No tienes tiempo libre que perder?

Personalmente, todo este lío con las construcciones recientes me ha hecho pensar globalmente en las perspectivas de dicha programación MQL. Y no importa si es en el 4 o en el 5. La esencia es la misma. Escribes tus programas en un determinado lenguaje sintético que está ligado a una plataforma comercial, y al final te conviertes en rehén de todos los caprichos y errores de los desarrolladores de la plataforma / lenguaje. Hoy quieren cruzar MQL4 con MQL5, mañana con MQL6, etc. Y no tienes elección, te ves obligado a rediseñar tus desarrollos según las nuevas reglas. De lo contrario, todo dejará de funcionar. Y así sucesivamente. Todo esto no es serio.

En general, este fue el impulso final para que yo transfiriera todos mis programas MQL a un entorno de programación independiente sin vincularse a una plataforma de comercio específica. Y usaré MQL sólo como un enlace de conexión entre MT y mi programa. Y esta es probablemente la única manera correcta. A no ser que vayas a vender tus promociones en el Mercado, claro).

Bueno, si sólo te gusta programar en MQL y quieres algunas características nuevas (por ejemplo, el interés deportivo), entonces ¿qué te impide codificar en P5, donde todo esto ya está implementado?

 
Meat:

¿A qué espera exactamente? ¿Más errores? (lo cual es inevitable con cambios tan importantes). ¿Te mueres de ganas de reescribir y depurar todos tus códigos que no funcionan en un abrir y cerrar de ojos? ¿No tienes tiempo libre que perder?

Personalmente, todo este lío con las construcciones recientes me ha hecho pensar globalmente en las perspectivas de dicha programación MQL. Y no importa si es en el 4 o en el 5. La esencia es la misma. Escribes tus programas en un determinado lenguaje sintético que está ligado a una plataforma comercial, y al final te conviertes en rehén de todos los caprichos y errores de los desarrolladores de la plataforma / lenguaje. Hoy quieren cruzar MQL4 con MQL5, mañana con MQL6, etc. Y no tienes elección, te ves obligado a rediseñar tus desarrollos según las nuevas reglas. De lo contrario, todo dejará de funcionar. Y así sucesivamente. Todo esto no es serio.

En general, este fue el impulso final para que yo transfiriera todos mis programas MQL a un entorno de programación independiente sin vincularse a una plataforma de comercio específica. Y usaré MQL sólo como un enlace de conexión entre MT y mi programa. Y esta es probablemente la única manera correcta. A no ser que vayas a vender tus promociones en el Mercado, claro).

Y si sólo te gusta programar en MQL y quieres algunas características nuevas (es decir, interés deportivo), entonces ¿qué te impide codificar en P5, donde todo esto ya está implementado?

Estoy de acuerdo, si el desarrollador dejaría el apoyo a las viejas construcciones, al menos 500 y eliminado la actualización obligatoria a una nueva construcción, que sospecho será implementado, que estaría bien, pero es otro movimiento incomprensible desarrolladores. Por supuesto, apoyo la inclusión de la POO, pero se implementa fácilmente en una dll y no es necesario provocar un incendio con una nueva versión del lenguaje como nuevo estándar. Por ejemplo, el mismo C++, tienen varios estándares existentes, pero en general hay una base común que funcionará para cualquier implementación de código.
 
Barbarian:
Estoy de acuerdo, si el desarrollador dejaría el apoyo a las viejas construcciones, al menos 500 y eliminado la actualización obligatoria a una nueva construcción, que sospecho será implementado, que estaría bien, pero es otro movimiento incomprensible desarrolladores. Por supuesto, apoyo la inclusión de la POO, pero se implementa fácilmente en una dll y no es necesario provocar un incendio con una nueva versión del lenguaje como nuevo estándar. Por ejemplo, el mismo C++, tienen varios estándares existentes, pero en general hay una base común que funcionará para cualquier implementación de código.

Tengo la sospecha de que estás planchando con planchas de hierro fundido y calentando la cocina con carbón... Las innovaciones son buenas, no sólo el mercado de divisas es muy dinámico y hay que estar siempre en la tendencia si se quiere conseguir algo ... nuevos cambios para mejor, ojalá ....
 
VOLDEMAR:

Las innovaciones son buenas, no sólo el mercado de divisas es muy dinámico y hay que estar siempre en la tendencia si se quiere conseguir algo ... nuevos cambios para mejor, ojalá ....

Una cosa es estar "de moda" uno mismo, y otra cosa es que sus diseños pasados estén "de moda". Si no tienes muchos o no tienen valor, no hay problema. Pero mucha gente aquí ha acumulado una enorme base de código, escrita y depurada durante años. Y ahora todo el mundo se encuentra ante el hecho de que una parte considerable de este código pronto dejará de funcionar. Esto es una tontería. En estos casos, siempre se contempla la compatibilidad con versiones anteriores del lenguaje, pero las metacomillas no lo hacen.

 
Meat:

Una cosa es estar "de moda" uno mismo, y otra cosa es que sus diseños pasados estén "de moda". Si no tienes muchos o no tienen valor, no hay problema. Pero mucha gente aquí ha acumulado una enorme base de código, escrita y depurada durante años. Y ahora todo el mundo se encuentra ante el hecho de que una parte considerable de este código pronto dejará de funcionar. Esto es una tontería. En casos como éste, siempre se contempla la compatibilidad con versiones anteriores, es decir, la compatibilidad con versiones antiguas del lenguaje, pero las metacomillas no lo hacen.


¿Está seguro de ello? ¿Se trata de una información privilegiada?
 
Meat:

Una cosa es estar "de moda" uno mismo, y otra cosa es que sus diseños pasados estén "de moda". Si no tienes muchos o no tienen valor, no hay problema. Pero mucha gente aquí ha acumulado una enorme base de código, escrita y depurada durante años. Y ahora todo el mundo se encuentra ante el hecho de que una parte considerable de este código pronto dejará de funcionar. Esto es una tontería. En casos como éste, siempre se contempla la compatibilidad con versiones anteriores, es decir, la compatibilidad con versiones antiguas del lenguaje, pero las metacomillas no lo hacen.

Palabras de un alarmista. Metacuotas ha dicho muchas veces, y probablemente no se cansará de repetirlo, que habrá compatibilidad total. Déjate de chiquilladas de una vez.
 
FAQ:

¿Está seguro de esto? ¿Se trata de una información privilegiada?

artmedia70:
Las palabras de un alarmista. Los metacitas han dicho muchas veces y probablemente no se cansarán de repetir que habrá compatibilidad total. ¿Quieres dejar de lado las chiquilladas de una vez?

Aquí lo he destacado, para que nadie diga que es totalmente compatible:

Renat:


Cuáles son las diferencias con la antigua versión de MQL4:

  • La prioridad de las operaciones booleanas AND/OR ha cambiado. Ahora todo es como en el clásico C/C++

  • Se ha introducido una evaluación abreviada de las expresiones lógicas. Ahora, al evaluar una expresión lógica, no se evalúan las restantes subexpresiones. Como en C/C++.

  • El operador de conmutación ahora sólo utiliza valores enteros. Anteriormente, se podían utilizar los reales.

  • Ahora, no se puede utilizar un punto en los nombres de las variables. Además, no puede utilizar los caracteres '@', '$', '?' en los nombres de las variables.

  • Se han endurecido los requisitos para la función de inicio. Anteriormente, se podían especificar parámetros en la función de inicio. Ahora todos los puntos de entrada init, start, deinit, OnInit, OnStart, OnTick, OnTimer, etc. deben coincidir exactamente con sus firmas

  • Debido a la ampliación del conjunto de palabras clave, ya no se pueden utilizar nombres como short, long, float, const, virtual, input, delete, new, do, char.

  • Las funciones dll importadas ya no pueden aceptar matrices de cadenas como parámetro. Como en MQL5

  • Han aparecido nombres de variables predefinidas _Periodo, _Símbolo, _ÚltimoError, _ErrorCrítico, _BanderaDeParada, _Punto, _Dígitos, _RazónDeUninit, _SemillaDelAzar, que pueden entrar en conflicto con variables simples declaradas en el código fuente existente con los mismos nombres

  • El tipo datetime ha pasado a ser de 8 bytes, como en MQL5.

Las diferencias no son fatales, y pueden arreglarse fácilmente en el código. En cambio, se dispone de muchas características de MQL5, una mayor velocidad de ejecución y un control de calidad mucho más estricto.

En rojo, he resaltado lo más desagradable.
 
Barbarian:
Yo, por supuesto, apoyo la inclusión de la POO, pero está implementada en una dll y no hay necesidad de crear una nueva versión del lenguaje como un nuevo estándar.

Creo que no debería haber cambiado nada en Mql4 en absoluto. Ha existido sin cambios durante muchos años, se han curado todos los males y los usuarios se acostumbraron a ella. Lo principal es que era un lenguaje muy sencillo y único con sus propias características, por ejemplo, permitía cierto libre albedrío, lo que podía ahorrar muchas líneas de código. Lo único que le faltaba eran las estructuras. Podrías haberte limitado a añadirlos y ya está. Y MQL5, con su aburrida severidad y limitaciones, ya no es tan interesante, porque, como bien ha señalado Barbarian, es mucho más fácil codificar en C++ real con posibilidades mucho más amplias.

En resumen, la mejor solución sería dejar MQL4 como está y añadir MQL5 como un lenguaje separado en MT4 (sólo el conjunto de características será diferente de MT5). El usuario decidiría por sí mismo en qué idioma escribir.