Cómo convertir los indicadores MT4 en MT5 en minutos
Publicado: 2021-02-03Cómo convertir los indicadores MT4 en MT5 en cuestión de minutos: ¿Desea convertir los asesores expertos creados para operar en MT4 para asegurarse de que también puedan operar en la plataforma MT5?
¡No hay métodos largos aquí!
Lo guiaremos en la conversión de código MQL4 a código de lenguaje MQL5 de una manera tan fácil; ¡te alegrarás! Los créditos del éxito de la revolucionaria serie MetaTrader son para Metaquotes Inc, y ahora finalmente han decidido marcar el MT5 como su software para el futuro.
La empresa parece centrar la mayoría de sus esfuerzos en la plataforma MetaTrader 5 (MT5) y, sin duda, es algo mejor que la MT4.
Entonces, ¿cómo vas a migrar? ¡Sigue leyendo!
Por qué cambiar de MT4 a MT5 en cuestión de minutos
La pregunta más importante que enfrentan los programadores y comerciantes con esta migración planificada es cómo pueden ejecutar los expertos codificados en lenguaje MQL4 en la plataforma MT5 de manera eficiente, considerando el hecho de que MT4 y MT5 no pueden ejecutarse simultáneamente.
Cuando profundizamos aún más en esta pregunta, nos encontramos con algunos hechos como:
- MT4 y MT5 no pueden ejecutarse con lenguajes de programación idénticos. Por lo tanto, los expertos codificados para trabajar en MT4 no funcionarán en MT5, lo que dificulta la escena.
- MT4 tiene un futuro muy aburrido y aburrido, y podemos citar eso después de seguir el anuncio sobre las futuras actualizaciones de MT4. Por lo tanto, el software no tendrá suficiente jugo ahora.
- Metaquotes ha realizado numerosos cambios en la funcionalidad de MT5, por lo que obtiene más ventajas funcionales en comparación con MT4.
Cómo convertir los indicadores MT4 en MT5 con éxito: el proceso central
Usar MT4 EA en MT5 parece técnicamente imposible, y el archivo fuente de MQ4 EA existente debe modificarse (algunos elementos del mismo) para que funcione perfectamente en MT5.
Si tiene un buen conocimiento sobre cómo el lenguaje y el entorno de MQL4 difieren de los de MQL4, entonces ciertamente puede realizar todas esas modificaciones.
Aquí, demostraremos la conversión de MT4 EA a formato MT5 con la ayuda de MT4 EA de Average.mq4 EA. La razón detrás de seleccionarlo fue, en primer lugar, que viene preinstalado con todas las instalaciones de MT4 y, en segundo lugar, la mayoría de los programadores están familiarizados con este EA.
Usando el ejemplo “Moving Average.mq4” y convirtiendo MT4 EA a MT5 EA
- En MetaEditor 4, encontrará el archivo fuente llamado "MQL4\Experts\Moving Average.mq4", que debe abrir.
- Seleccione + Copiar todo el texto presionando Ctrl + A, Ctrl + C.
- Presione la tecla F4 y abra el MetaEditor. Encontrará que el terminal del cliente MT4 está abierto.
- Una vez que haya descargado con éxito la terminal de escritorio MT5 del corredor deseado, abra la instancia del cliente MT5.
- Ahora, abra MetaEditor 5 y cree un nuevo EA (plantilla), algo como lo que hemos demostrado allí.
- Complete el campo "Nombre" y asigne un nombre adecuado a su plantilla de EA. Una vez que haya hecho eso, obtendrá su próximo EA para construirse en MT5.
- Ahora, después de seleccionar todo el texto en la plantilla tocando Ctrl + A y eliminándolos todos, pegue el texto que copió de MT4.
MetaTrader 5 viene con otros métodos de sistema de órdenes (por ejemplo, abrir, cerrar, seleccionar, enviar, etc.). Sin embargo, para la conversión de MT4 a MT5 EA, el método más sencillo según nuestros expertos es utilizar una biblioteca: mq4.mqh.
Más lejos…
Sugerimos esta biblioteca porque le permite al programador operar con las órdenes en MQL5 de la misma manera que lo hacía en MQL4. En resumen, la biblioteca permite que OLS (ordenar el sistema de lenguaje) se vuelva similar al de MQL4.
Puede obtener el archivo de biblioteca mq4.mqh de los programadores elegidos en línea. Agregamos un poco de funcionalidad después de obtener la nuestra de uno de esos programadores. Combinamos todo en un solo archivo. Esta biblioteca está destinada a cubrir solo los sistemas de pedidos.
- Asegúrese de que la instancia de la plataforma MT5 esté abierta
- Después de abrir la plataforma MT5, toque Archivo -> Abrir carpeta de datos "...\MQL5\Incluir".
- Coloque el archivo de biblioteca (mq4.mqh) en esta carpeta.
- Actualizar la plataforma MT5 es importante ahora. Ciérralo y ábrelo de nuevo.
- Ahora abra MetaEditor5 y el código fuente del asesor experto.
- En el código fuente de SimpleEA.mq5, agregue la cadena: #include <mq4.mqh>
- Después de agregar la cadena al código fuente, presione el botón "F7" y ensamble el código fuente de SimpleEA.mq5. Además, hay una opción de "Compilar" mencionada en la barra de herramientas de MetaEditor 5.
- Después de completar el ensamblaje, obtendrá dos errores. Ahí es donde se destaca la distinción entre las plataformas MT4 y MT5.
Simplemente escriba iMA en MetaEditor 4, donde "cambio" es el número de la vela de precio. Se necesitan identificadores para cada EA y función individual en MetaEditor5 para obtener valor del EA/indicador por ese identificador.
Cómo convertir los indicadores MT4 en MT5: cambiar el código fuente
En esta parte, nos centraremos en editar el código fuente de MT4 para garantizar que funcione perfectamente en MT5. Estos cambios en el código fuente se aplican solo en el indicador, ya que solo una línea en el código fuente es lo que está cambiando aquí.
Ahora, describamos los pasos que llevan a cabo estos cambios. ¿Debemos?
- Cree un tipo de entero variable para el identificador del indicador MA para iniciar el proceso.
- Asígnele un valor llamado INVALID_HANDLE. La imagen de abajo explica lo mismo.

Los asesores e indicadores expertos vienen con la sección OnInit() para inicializaciones en tiempo de ejecución. El formulario es como:
Puede usar el archivo de ayuda para leer esto. Para acceder al archivo de ayuda en MetaEditor5, simplemente toque la tecla "F1". También encontrará un documento en la Comunidad MQL5, que le proporciona mucha información que puede encontrar en el archivo de ayuda. use este enlace para acceder a este documento –
https://www.mql5.com/en/docs/basis/function/events
- Además, agregue este código (código fuente) en el texto de nuestro EA. En ausencia de esta sección, presione Alt + M desde MetaEditor 5.
- Aparecen cinco funciones en la lista de funciones, pero verá que la función OnInit() no está presente allí de manera predeterminada. Entonces, tenemos que narrarlo manualmente, y la imagen a continuación le mostrará cómo crearlo:
- Para ver la función OnInit() emparejada con el código fuente, solo toque Alt + M.
- Ahora, escribe el siguiente código en la sección OnInit()
En el MetaEditor de MT4, generalmente necesita escribir el siguiente código:
Por otro lado, el código se narra como un identificador para un indicador para MT5, y por eso escribe el siguiente código en MT5:
- Ahora, para obtener valor de Moving Average EA, simplemente escriba una función usando el identificador que verá en la siguiente imagen:
Como discutimos antes, es necesario crear una función para obtener el valor del EA/indicador usando el MetaEditor5, y la función que usamos para obtener valores tiene una cadena que llamamos CopyBuffer().
Su trabajo es copiar datos del indicador a su matriz, y obtiene datos de un búfer dado de un indicador dado en una cantidad específica.
Simplemente vaya al enlace -https://www.mql5.com/en/docs/series/copybuffer para leer el documento disponible.
El código es como:
MA tiene 1 búfer, numerado como "0". Ahora, copie un valor de MA. Está escrito de la siguiente manera en MetaTrader4:
El último "0" coincide con el valor de MA en la última vela del gráfico (vela cero). En el MetaEditor de MT5, lo obtendrá escrito de la siguiente manera:
- Desde la posición del índice, debe copiar un valor en la matriz MA.
- Mientras compila el código, muévase para borrar ambos errores inicialmente. Para ello, señale el error en el primer registro y haga doble clic en él.
- Ahora, pasará a la ubicación del error en el código fuente de MT5 para su EA. Obtendrá el código de error en la línea 114 para esta instancia.
- Tienes que borrar la línea que indica el error y reemplazarla por una cadena que contenga el código MaGet(0), tal y como te hemos indicado ahí abajo.
El código de error siempre está subrayado con tinta roja, y justo debajo se encuentra el código maMaGet(0).
- Después de eliminar el código de error y colocar la cadena MaGet(0), puede presionar la tecla F7 y compilar el código una vez más.
- Después de compilar el código fuente, notará que ahora solo aparecerá un error.
- Para reemplazar este último código de error, se debe seguir la misma secuencia que adoptamos para borrar el código de error anterior. ¡Llegue a la línea del código de error, haga doble clic en él, comente y reemplace! ¡Eso es todo!
- Encontrarás tinta verde subrayando el código de error. Justo debajo, encontrarás el código, que reemplazará la parte del error. Así eliminamos el error.
Tienes que usar la siguiente cadena para el reemplazo, y estás al borde:
if (Abrir[1]>MAGet(0) && Cerrar[1]<MAGet(0)
- Después de comentar y reemplazar el código de error, la compilación del código es obligatoria. Después de compilar el código fuente de la forma en que lo hicimos anteriormente presionando la tecla F7, verá que se eliminan todos los errores.
- Hemos cubierto todo el proceso de conversión de MT4 EA a una versión adecuada que pueda usar en MT5. Como resultado, ¡puede ejecutarlo convenientemente en la plataforma MT5 ahora!
Cómo convertir los indicadores MT4 en MT5: la conclusión
A primera vista, Cómo convertir los indicadores MT4 en MT5 parece una pregunta difícil de responder , pero el método que mencionamos anteriormente hace que esto suceda. Imagínese lo patético que sería construir todo el programa en la interfaz de programación de MetaEditor 5, y eso también, desde cero.
Afortunadamente, el atajo estaba disponible y lo describimos aquí. Recientemente, el uso de MT5 ha aumentado significativamente, e incluso se espera que surjan nuevos métodos con respecto al cambio de MT4 a MT5. La plataforma MT5 está en continuo desarrollo.
La plataforma MT5 ha pasado por numerosas modificaciones y, próximamente, también esperamos que se agreguen algunas funciones más. Sin duda, es mucho mejor que MT4.
¿Es nuevo en el comercio de Forex o no está satisfecho con su plan de alojamiento VPS de Forex actual?
Bueno, los planes de Forex del hospedaje Accuweb han establecido los nuevos puntos de referencia para el hospedaje VPS de Forex, presentando planes ultra convenientes a 6 puntos de precio diferentes.
Los usuarios están contentos con su experiencia comercial en Forex con estos planes, y si es nuevo en Forex, ¡no pierda la oportunidad! También obtendrá una prueba gratuita de 7 días. Toque AQUÍ para saber más.