Skip to content

Repository files navigation

dockermt5

License: GPL v3

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 NOTICE para detalles de origen y créditos.


¿Por qué dockermt5?

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.

Inicio rápido

1. Levanta MetaTrader 5 (Docker)

docker compose up -d

Esto 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.

2. Instala la librería Python

pip install dockermt5

O desde el código fuente:

cd python/
pip install -e .

3. Tu primer script

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())

Documentación

Casos de uso

  • 🤖 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

Estructura del repositorio

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

Estado del proyecto

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.

Licencia y créditos

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.


Roadmap

  • Renombrar paquete Python de ejtraderMT a dockermt5
  • 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/

About

Stack completo MetaTrader 5 + API Python + Docker, en español. Fork unificado de ejtraderMT/MQL5-ejtraderMT/Metatrader5-Docker (GPL-3.0).

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages