Stack completo de MetaTrader 5 + API Python + Docker, mantenido en español.
Un único repositorio con todo lo necesario para automatizar trading sobre MetaTrader 5 desde Python:
- 🐍
python/— Librería Python que se conecta a MT5 vía ZeroMQ - 📈
mql5/— Expert Advisor (EA) que corre dentro de MetaTrader 5 y expone los datos - 🐳
docker/— Imagen Docker con MT5 + Wine + VNC para correr el broker en Linux
Estado: este proyecto es un fork unificado y revivido de tres repositorios de @ejtraderLabs que llevaban tiempo sin actualizaciones. Ver
NOTICEpara detalles de origen y créditos.
MetaTrader 5 es la plataforma de trading más usada por brokers de forex, futuros y CFDs, pero:
- Solo corre nativamente en Windows
- No tiene API Python oficial completa
- La integración Python ⇄ MT5 requiere un Expert Advisor que hable algún protocolo
dockermt5 resuelve los tres problemas: corre MT5 en un contenedor Docker (incluso en servidores Linux), expone una API Python limpia, y trae el EA listo para cargar.
docker compose up -dEsto arranca MT5 con VNC en localhost:5900 y los puertos ZeroMQ 15555-15558 listos.
Conéctate por VNC (usuario root, password root), inicia sesión en tu broker, abre un gráfico y arrastra el EA dockermt5.ex5 desde Navigator > Experts.
pip install dockermt5O desde el código fuente:
cd python/
pip install -e .from dockermt5 import Metatrader
api = Metatrader() # conecta a localhost por defecto
info = api.accountInfo()
print(f"Balance: {info['balance']}")
# Históricos de EURUSD - último mes en M5
df = api.history("EURUSD", "M5", 30)
print(df.tail())- 📘 Guía de instalación — TODO
- 📗 Referencia de la API — uso de cada función
- 📙 Arquitectura — TODO
- 📕 Compilar el EA — para desarrolladores
- 🤖 Bots de trading algorítmico — estrategias automáticas con la lógica que quieras
- 📊 Backtesting masivo — 20 años de datos M1 en SQLite (~2s para leer 7M velas)
- 🧠 Modelos de ML financieros — pipeline de datos limpio para entrenar predictores
- 🔔 Alertas y monitoreo — streaming de precios y eventos en tiempo real
dockermt5/
├── python/ Librería pip-instalable (la cara visible al usuario)
├── mql5/ Source del Expert Advisor + dependencias MQL
├── docker/ Dockerfile + scripts para correr MT5 en Linux
├── docs/ Documentación técnica
└── docker-compose.yml Entrada todo-en-uno
| Componente | Estado | Notas |
|---|---|---|
| Librería Python | 🟡 Funcional, en traducción | Heredada de ejtraderMT, mantenida activamente |
| EA MQL5 | 🟡 Funcional, sin updates desde 2022 | Recompilable con MetaEditor 5 |
| Docker | 🟡 Funcional | Ver NOTICE sobre licencia upstream |
| Traducción al español | 🔴 En progreso | Mensajes y docs siendo traducidos |
| Documentación | 🔴 En progreso |
Contribuciones bienvenidas — ver CONTRIBUTING.md.
dockermt5 se distribuye bajo GNU GPL-3.0. Esto significa que puedes usarlo, modificarlo y redistribuirlo libremente, siempre que cualquier obra derivada se mantenga también bajo GPL-3.0.
Este proyecto es un fork unificado de tres repositorios originales de Emerson Pedroso (@ejtraderLabs). Todos los créditos al autor original — ver NOTICE para detalle de cada componente y sus dependencias upstream.
- Renombrar paquete Python de
ejtraderMTadockermt5 - Traducir todos los docstrings y mensajes al español
- Mantener alias en inglés para no romper migraciones
- Publicar en PyPI bajo
dockermt5 - Publicar imagen Docker
dockermt5/metatrader:5 - CI: lint Python, compilar EA, build Docker
- Tests unitarios y de integración
- Documentación completa en
docs/