English Русский 中文 Deutsch 日本語 Português 한국어 Français Italiano Türkçe
preview
Cómo empezar a trabajar con MQL5 Algo Forge

Cómo empezar a trabajar con MQL5 Algo Forge

MetaTrader 5Ejemplos |
525 20
MetaQuotes
MetaQuotes

El nuevo portal MQL5 Algo Forge no es simplemente una lista con sus proyectos, sino toda una red social para desarrolladores. En él podrá seguir fácilmente los cambios, mantener una historia, encontrar personas afines y nuevas ideas. Aquí podrá suscribirse a autores que le resulten interesantes, crear equipos y llevar a cabo proyectos conjuntos sobre trading algorítmico.  

MQL5 Algo Forge se basa en Git, un moderno sistema de control de versiones, y esto significa que todos los desarrolladores dispondrán ahora de una herramienta completa al alcance de la mano para monitorear la historia del proyecto, crear ramas, experimentar y trabajar en equipo. Pero, ¿cómo funciona todo esto?  Este artículo le mostrará cómo empezar a trabajar con MQL5 Algo Forge


Qué es el repositorio en MQL5 Algo Forge

La creación de cualquier programa informático suele ser un proceso largo que requiere tiempo y depuración. El código creado no solo debe escribirse y mantenerse, sino también almacenarse de forma segura. Los algoritmos modernos de negociación en los mercados financieros ya no se reducen a simples señales basadas en dos medias móviles, sino que se basan en bibliotecas matemáticas, redes neuronales y aprendizaje automático. Por ello, resulta necesario poder guardar rápida y fácilmente los cambios realizados y obtener código actualizado desde cualquier lugar. 

MQL5 Storage es un repositorio versionado integrado en el MetaEditor. Antes utilizaba para su trabajo el sistema de control de versiones Subversion 1.7. Este sistema estaba centralizado: toda la historia se almacenaba en el servidor de MetaQuotes. Sin conexión a Internet, no era posible confirmar cambios, revertir una versión o ver la historia. Hoy en día, ha sido completamente reemplazado por una herramienta más potente y flexible: MQL5 Algo Forge.

Ahora MQL5 Algo Forge funciona de forma distinta:


MQL5 Algo Forge (en Git) MQL5 Storage (versión anterior)
Almacenamiento de la historia De manera local y en la nube Solo en la nube MetaQuotes
Trabajo sin Internet Completo (commits, rollbacks, diff) Limitado o imposible
Rapidez de las operaciones Instantáneas, localizadas Depende de la red y del servidor

Algo Forge ofrece libertad. Podrá trabajar tranquilamente en el tren, crear ramas para experimentos, guardar los resultados intermedios y luego fusionarlos en la rama principal.

El repositorio de proyectos en Algo Forge no es solo una carpeta en la nube: es un repositorio estructurado que vive en el disco duro del usuario y también se sincroniza con un servidor en la nube en MQL5 Algo Forge.  Consta de varios niveles:

Directorio de trabajo en el MetaEditor

Estos serán sus archivos .MQ5, .MQH , .SET y otros que edite en el MetaEditor. Aquí es donde se escribe el código del asesor experto, se conectan los indicadores y se prueban las estrategias. A menos que usted lo especifique explícitamente, el sistema Algo Forge no tendrá en cuenta los cambios.                                                                   

Área de preparación (índice)

Antes de enviar cambios a la historia del proyecto, habrá que prepararlos. Con el comando "Git Add" se seleccionan los archivos a incluir en la siguiente confirmación. Esto permite añadir cambios por partes, por ejemplo, primero podrá guardar los cambios en la lógica del algoritmo comercial, y luego los cambios en la interfaz o la configuración.


Repositorio local


Después de confirmar (Git Commit), Forge guardará una instantánea del estado actual de los archivos en el repositorio local, directamente en su computadora. Así, podrá ver en cualquier momento lo que había antes, volver a la versión anterior o entender qué cambios han afectado al asesor experto.


Repositorio remoto en Algo Forge


Cuando todo esté listo, podrá enviar commits al servidor MQL5 Algo Forge ( Git Push ). Esto creará una copia de seguridad fiable y pondrá los cambios a disposición de los compañeros de equipo. Incluso si trabaja solo, le resultará útil: su código siempre se podrá recuperar desde la nube, y no perderá su historia de desarrollo.


Cómo conectarse a MQL5 Algo Forge

Para trabajar con el sitio web MQL5 Algo Forge, bastará con tener una cuenta MQL5, solo tendrá que introducir sus datos en https://forge.mql5.io/ e iniciar sesión.  


Una vez autorizado podrá explorar todas sus funcionalidades; encontrará los proyectos públicos en Explore.  Ahora le resultará mucho más fácil buscar proyectos, aprender su código, compartir el suyo y unirse a equipos.



Pero el trabajo principal con los proyectos se realizará, obviamente, en el entorno de desarrollo del MetaEditor.  Para conectarse a MQL5 Algo Forge en el editor, solo tendrá que iniciar sesión con los datos de su cuenta MQL5 en el apartado Community



Qué es Git y cómo funciona en MQL5 Algo Forge

Git es un sistema que recuerda cómo eran sus archivos en diferentes momentos. El sistema le ayudará a no perder cambios importantes, retroceder fácilmente, trabajar en ramas separadas y combinar el trabajo de varios desarrolladores en un mismo proyecto.

Además, no tendrá que tratar con Git directamente: en el MetaEditor, todo se realiza a través de un cómodo menú. No obstante, "bajo el capó" se utilizan algunos comandos básicos. Vamos a desglosar lo que hacen y qué sucede cuando clicamos en los elementos correspondientes en el MetaEditor.

Primero crearemos un nuevo proyecto "Base_EA" en la carpeta de proyectos públicos.


Luego haremos clic con el botón derecho en el archivo del proyecto y veremos los comandos Git.


1. Git Add File/Folder — Preparar los cambios para el guardado

Cuando editamos archivos, Git aún no los tiene en cuenta. Para decirle al sistema: "Estos son los archivos que quiero guardar en la historia", debemos añadirlos al índice. Esto se hace a través de "Git Add File/Folder" o simplemente seleccionando un archivo para el commit.

Git captura el estado actual del archivo y lo prepara para guardarlo, como si hubiéramos apilado los documentos que necesitamos en una carpeta "Para firmar".

2. Git Commit — Guardar el estado del proyecto

Cuando pulsamos "Git Commit" en el MetaEditor, Git toma una instantánea del estado del proyecto en ese momento. Esta instantánea pasará a la historia de versiones.

Qué es lo que sucede:

  • Git compara los archivos nuevos con los anteriores. 
  • Guarda solo las diferencias (esto ahorra espacio).
  •  Escribe los cambios en una carpeta .git especial oculta 
  • Asigna un identificador numérico único (SHA-1) a la confirmación para que pueda ser encontrada. 

Commit es como un punto de control: "Así era el proyecto en ese momento". En el futuro, siempre podrá tomar su proyecto en este punto y seguir trabajando en él, si es necesario.

3. Git Push — Envío a la nube de MQL5 Algo Forge

Al pulsar "Git Push", Git transferirá los commits acumulados a un repositorio remoto en el servidor MQL5 Algo Forge. 

Es como subir a la nube un archivo con una nueva versión de un proyecto, solo que con una historia precisa de todos los cambios.

Para mayor comodidad de los usuarios, el MetaEditor siempre ejecuta automáticamente el comando "Git Push" cuando se invoca el comando "Git Commit". Esto garantizará que el desarrollador siempre tenga la versión actual del proyecto en la nube, reduciendo además los posibles conflictos.  Pero si por alguna razón no puede enviar los cambios al servidor, el comando independiente "Git Push" le resultará muy útil.

4. Git Pull — Obtener una nueva versión desde la nube

Si hay más de una persona trabajando en un proyecto, es posible que alguien haga cambios y los envíe antes que usted. O quizá usted haya programado los derechos desde una computadora y ahora quiera seguir trabajando con ellos desde otra (o incluso en la misma computadora pero en un terminal diferente, suele pasar). Para obtener estas actualizaciones, se utilizará el comando "Git Pull", que significa "Actualizar el proyecto desde Forge".

Git descargará los nuevos commits y los fusionará con su versión local.

5. Git Branch — Crear ramas para experimentos

A veces resulta necesario experimentar con el código sin influir en la versión principal. Para ello se crean ramas. Por ejemplo, si usted desea crear una versión del asesor experto con señales de otro indicador o con un filtro adicional, etc. Podrá crear una rama con un nombre claro y seguir el desarrollo en ella. Dicho esto, siempre se podrá cambiar fácilmente de una rama a otra.

Una rama es una línea paralela de desarrollo. Podrá hacerle los cambios que quiera y luego descartarla o fusionarla con la base.


6. Git Difference — ver exactamente lo que ha cambiado

Este comando mostrará línea por línea lo que se ha añadido, eliminado o cambiado en el archivo antes del commit. Se mostrará como un panel de comparación de versiones (al realizar el commit o ver la historia).


7. Git Log — ver la historia de cambios del proyecto

El comando log mostrará una lista de todos los commits pasados con fecha, autor y mensaje. Dicho comando abrirá el registro de cambios incorporado: podrá abrirlo y ver quién ha realizado los cambios, cuándo lo ha hecho y qué ha modificado.


8.  Git Revert — cancelar una confirmación específica

El comando "Git Revert" creará un nuevo commit que cancelará el efecto del anterior sin borrarlo de la historia. Se trata de una forma segura de "deshacer" los cambios sin romper la estructura del proyecto. Pero solo si estamos deshaciendo el último commit.

Esto resultará especialmente útil si usted nota que algún commit ha dañado el funcionamiento del asesor experto: podrá deshacer rápidamente su acción sin afectar a otros commits. Pero si después del commit que quiere deshacer hay otros commits con cambios en las mismas secciones de código, entonces "Git Revert" provocará un conflicto que habrá que resolver manualmente.


Trabajo seguro con proyectos

Uno de los problemas fundamentales del sistema de almacenamiento versionado son los conflictos entre la versión local y la almacenada en la nube. Aquí le servirá de ayuda una simple regla de "higiene": inmediatamente después de abrir un proyecto para seguir trabajando en él, haga una solicitud Pull para asegurarse de obtener una versión actualizada desde la nube de Algo Forge.

La regla inversa también es válida: después de completar la edición de un proyecto, ejecute siempre una solicitud Commit+Push para enviar los cambios a la nube. Esto le ahorrará la molestia de resolver conflictos, permitiéndole continuar su trabajo en cualquier momento y desde cualquier lugar.


MQL5 Algo Forge es todo lo que necesita para trabajar de forma fiable con proyectos en el MetaEditor

No tendrá que escribir los comandos manualmente. Todo Git está integrado en la interfaz del MetaEditor:

  • Añadir, confirmar, cambiar de rama: podrá hacer todo a través del menú contextual del proyecto.
  • Push y Pull: este par de botones sirve para sincronizar con la nube.
  • Branch y Revert: este par de comandos sirve para controlar el proceso de desarrollo.
  • Historia de cambios: está disponible como registro visual.

Estos 8 comandos son todo lo que necesitará para utilizar con confianza MQL5 Algo Forge. Le permitirán llevar a cabo el desarrollo de forma tranquila, estructurada y con total protección frente a las pérdidas.



Simplemente, empiece a usarlos

MQL5 Algo Forge no es solo un repositorio. Se trata de un completo sistema de gestión de proyectos para tráders algorítmicos. El sistema le permite hacer un seguimiento preciso de los cambios, experimentar sin riesgos, trabajar en equipo y confiar en la estabilidad de su código.

Si usted solía evitar Git debido a su aparente complejidad, las cosas le serán mucho más fáciles con Forge. El MetaEditor ya integra los comandos básicos y todo lo que deberá hacer es escribir su código, guardar los pasos y estar listo para cualquier retroceso.


¡Bienvenido a MQL5 Algo Forge!


Enlaces útiles:

Traducción del ruso hecha por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/ru/articles/18518

Yuriy Bykov
Yuriy Bykov | 5 sept 2025 en 12:33
Fernando Carreiro #:

Como prueba, he añadido una descripción de la publicación Heikin Ashi como un archivo README en formato Markdown y lo he enviado al repositorio.

Por favor, compruebe si ha recibido la notificación de este cambio y si se puede actualizar el tenedor.

He visto esto en la interfaz web del repositorio:

Intentaré actualizar el fork más tarde

Yuriy Bykov
Yuriy Bykov | 5 sept 2025 en 12:49
Fernando Carreiro #:

Como prueba, he añadido una descripción de la publicación Heikin Ashi como un archivo README en formato Markdown y lo he enviado al repositorio.

Por favor, compruebe si ha recibido la notificación de este cambio y si se puede actualizar el tenedor.

En primer lugar, mi clon fork local aún no tiene el último commit:


Conectando el repositorio original, según la documentación de Git:

Voy a la interfaz web del fork y veo esto:


Hago clic en el botón "Sync" y luego hago un Pull en MetaEditor:


Como pueden ver, todos sus commits estaban a salvo en el fork y luego de Pull en el clon del fork en mi computadora local.

En esta página de documentación hay otras formas de sincronizar usando comandos de consola, pero no las he probado, ya que todos los commits ya están sincronizados.

Voy a experimentar más tarde para ver cómo el comando Commit y Push en MetaEditor se comportará para el tenedor. Me pregunto si va a tratar de enviar las ediciones al repositorio original también.

Fernando Carreiro
Fernando Carreiro | 5 sept 2025 en 13:00
@Yuriy Bykov #:

En primer lugar, mi clon de la horquilla local no tiene el último commit todavía:

Conectando el repositorio original, según la documentación de Git:

Voy a la interfaz web del fork y veo esto:

Hago clic en el botón "Sync" y luego hago un Pull en MetaEditor:

Como se puede ver, todas sus confirmaciones fueron de forma segura en el tenedor y, a continuación, después de Pull en el clon de la bifurcación en mi equipo local.

En esta página de la documentación hay otras formas de sincronizar usando comandos de consola, pero no las he probado, porque todos los commits ya están sincronizados.

Todo esto está muy bien, pero has demostrado mi punto de que un "Clon" y un "Fork" no son lo mismo, y el método que MetaQuotes ha adoptado requiere una intervención extra fuera del MetaEditor sólo para poder sincronizar el proyecto.

Por no hablar de que requiere espacio de almacenamiento adicional en los servidores AlgoForge, para los "forks", mientras que un "clon" no requiere almacenamiento adicional ni pasos adicionales.

Considero que las implementaciones MetaQuotes demasiado "defectuoso" para un uso eficaz y seguirá utilizando un cliente Git externo, o el uso de VSCode (que funciona muy bien con AlgoForge sin problemas).

Vladislav Boyko
Vladislav Boyko | 5 sept 2025 en 13:22
Fernando Carreiro #:
Considero las implementaciones de MetaQuotes demasiado "defectuosas" para un uso efectivo y seguiré usando un cliente Git externo, o usando VSCode (que funciona perfectamente con AlgoForge sin problemas).

Estamos encantados de darte la bienvenida a nuestra comunidad de usuarios de clientes Git externos!😁

Yuriy Bykov
Yuriy Bykov | 5 sept 2025 en 14:25
Fernando Carreiro #:

Encuentro la implementación de MetaQuotes demasiado "defectuosa" para usarla eficazmente y seguiré usando un cliente Git externo o VSCode (que funciona bien con AlgoForge sin problemas).

Desafortunadamente, este es el caso por ahora. Yo también prefiero usar un cliente externo por ahora. Pero si se compara lo que se ha añadido a MetaEditor en los últimos 5 meses, es un progreso notable. Es sólo que antes no había herramientas para trabajar con el nuevo repositorio en absoluto, y ahora hay al menos una versión tan reducida.

Redes neuronales en el trading: Aprendizaje contextual aumentado por memoria (MacroHFT) Redes neuronales en el trading: Aprendizaje contextual aumentado por memoria (MacroHFT)
Hoy le propongo familiarizarse con el framework MacroHFT, que aplica el aprendizaje por refuerzo dependiente del contexto y la memoria para mejorar las decisiones en el comercio de criptodivisas de alta frecuencia utilizando datos macroeconómicos y agentes adaptativos.
Algoritmo de Partenogénesis Cíclica - Cyclic Parthenogenesis Algorithm (CPA) Algoritmo de Partenogénesis Cíclica - Cyclic Parthenogenesis Algorithm (CPA)
En este trabajo, analizaremos un nuevo algoritmo de optimización basado en la población, el CPA (Cyclic Parthenogenesis Algorithm), inspirado en la estrategia reproductiva única de los pulgones. El algoritmo combina dos mecanismos de reproducción: la partenogénesis y la reproducción sexual, y utiliza una estructura de población colonial con posibilidad de migración entre colonias. Las características clave del algoritmo son el cambio adaptativo entre diferentes estrategias de cría y un sistema de intercambio de información entre colonias usando un mecanismo de vuelo.
Aprendizaje automático y Data Science (Parte 32): Mantener actualizados los modelos de IA, aprendizaje en línea Aprendizaje automático y Data Science (Parte 32): Mantener actualizados los modelos de IA, aprendizaje en línea
En el cambiante mundo del comercio, adaptarse a los cambios del mercado no es solo una opción, es una necesidad. Cada día surgen nuevos patrones y tendencias, lo que dificulta que incluso los modelos de aprendizaje automático más avanzados sigan siendo eficaces ante condiciones en constante evolución. En este artículo, exploraremos cómo mantener tus modelos relevantes y receptivos a los nuevos datos del mercado mediante el reentrenamiento automático.
Redes neuronales en el trading: Sistema multiagente con validación conceptual (Final) Redes neuronales en el trading: Sistema multiagente con validación conceptual (Final)
Seguimos aplicando los planteamientos propuestos por los autores del framework FinCon. FinCon es un sistema multiagente basado en grandes modelos lingüísticos (LLM). Hoy pondremos en marcha los módulos necesarios y efectuaremos pruebas exhaustivas del modelo con datos históricos reales.