Discusión sobre el artículo "Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte X): Compatibilidad con MQL4"
Hay un error en MT4 que borra todo, incluso los objetos OCULTOS (lo que no debería ser el caso) pulsando ← tecla Retroceso
Así que pulsando ← Retroceso puedes borrar fácilmente toda tu interfaz.
En general, su código MT4 carece de una respuesta a la eliminación de los controles para volver a crearlos.
En MT4 hay un bug que borra todo, incluso los objetos OCULTOS (que no deberían estarlo) al pulsar la tecla ← Retroceso.
Así que pulsando ← Retroceso puedes borrar fácilmente toda tu interfaz.
En general, su código MT4 carece de una respuesta a la eliminación de los controles para volver a crearlos.
Trade.mqh se hizo trabajando para MT4.
- www.mql5.com
#ifdef __MQL5__ #define __MQL5_NEW__ #else // __MQL5__ #define __MQL4_NEW__ #endif // __MQL5__al principio de la biblia. Y todas las condiciones deben ser cambiadas a Nuevo-variante. Entonces será posible ejecutar en MT5 el mt4-variante de la biblioteca, y en MT4 - el mt5-variante de la biblioteca.
Sugiero hacer al principio de las biblias. Y todas las condiciones deben ser cambiadas a Nuevo-variante. Entonces será posible ejecutar en MT5 la mt4-variante de la biblioteca, y en MT4 - la mt5-variante de la biblioteca.
Sólo hay una variante de la biblioteca
Me gustaría poder ejecutar MT4-logic de la biblioteca en MT5.
Me gustaría poder ejecutar la lógica de la librería MT4 en MT5.
No entendí la sugerencia porque la lógica es la misma para ambas plataformas. La implementación es ligeramente diferente.
Conecto MT4Orders antes de su biblioteca. Y quiero MT4 variante a participar en su biblioteca.
Hay dos maneras de resolver esto
- Reemplazo __MQLX__ en todas las fuentes de su biblioteca. Es decir, cambio la biblioteca en sí, aunque de forma semiautomática.
- Creas macros, como mostré arriba. Luego para incluir MT4-logic en MT5 no necesitas cambiar nada en tu librería.
Creo que será interesante que compares tu librería exclusivamente en MT5, pero en dos modos de lógica.
ZY yo también quiero poder ejecutar tu librería en Virtual. Para ello necesito tener acceso a la parte de la librería en MT4.
Conecto MT4Orders antes de su biblioteca. Y quiero usar MT4 variante en su biblioteca.
Hay dos maneras de resolver esto
- Sustituyo __MQLX__ en todos los fuentes de tu librería. Es decir, cambio la propia librería, aunque de forma semiautomática.
- Creas macros, como mostré arriba. Entonces para incluir MT4-logic en MT5 no necesitas cambiar nada en tu libreria.
Creo que sería interesante que compararas tu librería exclusivamente en MT5, pero en dos modos de lógica.
ZY yo también quiero poder ejecutar tu librería en Virtual. Para ello necesito tener acceso a la parte de la librería en MT4.
Podemos discutir esto. Pero en privado. Por ahora la biblioteca se desarrollará de la misma manera - una lógica para ambas plataformas. La biblioteca fue concebida como una unidad independiente - una para ambas plataformas. Con la misma lógica que no contradice ni el estilo MQL4 ni el estilo MQL5 - todo es común.
ZY. No he entendido lo que se quiere decir con la parte MQL4-style de la biblioteca. Ahí no hay separación. Muéstrame el lugar de la biblioteca que se menciona.
Podemos discutirlo. Pero en privado. Mientras tanto, la biblioteca se desarrollará de la misma manera: una lógica para ambas plataformas. La biblioteca fue concebida como una unidad independiente - una para ambas plataformas. Con la misma lógica que no contradice ni el estilo MQL4 ni el estilo MQL5 - todo es común.
Le he enviado una versión de su biblioteca, que funciona en MT5 a través de la lógica de MT4-estilo prescrito por usted.
ZY. No he entendido lo que se quiere decir con la parte MQL4-estilo de la biblioteca. No hay ninguna separación allí. Muéstrame el lugar en la biblioteca que se menciona.
La cuestión es que las bibliotecas multiplataforma tienen una probabilidad mucho mayor de operatividad de la parte de la biblioteca al estilo MQL4 que al estilo MQL5. Por lo tanto, cuando se utilizan bibliotecas multiplataforma, prefiero utilizar su lógica de estilo MQL4 en MT5. Es mucho más fiable en MT5.
Creo que en MT5 su lógica MQL5-style tardará mucho tiempo en detectar bugs, mientras que MQL4-style tendrá sólo un número mínimo de bugs y no críticos.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte X): Compatibilidad con MQL4 - Eventos de apertura de posición y activación de órdenes pendientes:
En artículos anteriores, comenzamos a crear una gran biblioteca multiplataforma, cuyo cometido es simplificar la escritura de programas para las plataformas MetaTrader 5 y MetaTrader 4. En la novena parte, comenzamos a completar las clases de la biblioteca para trabajar en MQL4. En el presente artículo, continuaremos desarrollando la biblioteca para hacerla totalmente compatible con MQL4.
Simulación
Vamos a comprobar los cambios realizados. Compilamos el asesor TestDoEasyPart10.mq4, lo iniciamos en el simulador, abrimos y cerramos varias posiciones, colocamos varias órdenes pendientes y esperamos la activación de alguna de ellas, y también comprobamos la colocación de niveles stop y el funcionamiento del trailing (modificación de posiciones y órdenes pendientes). Todos los eventos que la biblioteca ya "ve" para MQL4, se representarán el diario del simulador:
Si observamos atentamente el diario del simulador, veremos que la biblioteca aún no ve el cierre de posiciones. Sin embargo, al activarse la orden pendiente BuyLimit #3, vemos en el diario una entrada que indica que se ha activado una orden pendiente [BuyLimit #3], generando la posición Buy #3: la biblioteca ahora ve la activación de órdenes pendientes, y además sabe de qué orden procede la posición. Asimismo, podemos ver una ligera omisión en la función de modificación: el color de la etiqueta de la orden pendiente modificada por trailing BuyStop #1 se vuelto roja. Pero la librería ve todos los eventos de modificación de las órdenes y posiciones.
Autor: Artyom Trishkin