trading-platform/docs/02-definicion-modulos/OQI-011-mt4-gateway/ROADMAP-MT4.md
Adrian Flores Cortes 8f0235c096 [TASK-2026-02-06-ANALISIS-INTEGRAL-DOCUMENTACION] docs: Complete 6-phase documentation analysis
- FASE-0: Diagnostic audit of 500+ files, 33 findings cataloged (7P0/8P1/12P2/6P3)
- FASE-1: Resolved 7 P0 critical conflicts (ports, paths, dedup OQI-010/ADR-002, orphan schemas)
- FASE-2: Resolved 8 P1 issues (traces, README/CLAUDE.md, DEPENDENCY-GRAPH v2.0, DDL drift, stack versions, DoR/DoD)
- FASE-3: Resolved 12 P2 issues (archived tasks indexed, RNFs created, OQI-010 US/RF/ET, AGENTS v2.0)
- FASE-4: Purged 3 obsolete docs to _archive/, fixed MODELO-NEGOCIO.md broken ref
- FASE-5: Cross-layer validation (DDL→OQI 66%, OQI→BE 72%, BE→FE 78%, Inventories 95%)
- FASE-6: INFORME-FINAL, SA-INDEX (18 subagents), METADATA COMPLETED

27/33 findings resolved (82%), 6 P3 deferred to backlog.
18 new files created, 40+ modified, 4 archived.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 10:57:03 -06:00

361 lines
9.4 KiB
Markdown

---
id: "ROADMAP-MT4"
title: "Roadmap de Implementacion MT4 Gateway"
type: "Roadmap"
project: "trading-platform"
epic: "OQI-010"
version: "0.1.0"
created_date: "2026-01-28"
updated_date: "2026-01-28"
---
# ROADMAP: MT4 Gateway Implementation
> **Nota:** Este roadmap es un plan propuesto. La implementacion esta
> actualmente PAUSADA y requiere decision de prioridad antes de iniciar.
---
## Vision General
Implementar una integracion completa con MetaTrader 4 que permita:
1. Consultar informacion de cuenta y posiciones
2. Obtener cotizaciones en tiempo real
3. Ejecutar operaciones de trading (buy/sell)
4. Gestionar posiciones (modificar SL/TP, cerrar)
5. Integracion con agentes LLM via MCP
---
## Fases de Implementacion
### Fase 0: Preparacion del Ambiente (1 semana)
**Objetivo:** Establecer el ambiente de desarrollo necesario
| Tarea | Prioridad | Esfuerzo | Responsable |
|-------|-----------|----------|-------------|
| Instalar MT4 Terminal en maquina de desarrollo | P0 | 1 dia | - |
| Crear cuenta demo con broker compatible | P0 | 1 dia | - |
| Configurar MetaEditor para desarrollo MQL4 | P0 | 0.5 dias | - |
| Documentar proceso de setup | P1 | 0.5 dias | - |
| Crear Docker container para gateway (opcional) | P2 | 2 dias | - |
**Entregables:**
- [ ] MT4 instalado y conectado a cuenta demo
- [ ] MetaEditor funcional
- [ ] Credenciales de cuenta demo documentadas (seguras)
**Brokers recomendados para cuenta demo:**
- IC Markets (bajo spread, MT4 estable)
- Pepperstone
- OANDA
- FXCM
---
### Fase 1: MT4 Gateway Service (2-3 semanas)
**Objetivo:** Implementar el servicio intermediario entre MCP y MT4
#### Semana 1: Core del Gateway
| Tarea | Prioridad | Esfuerzo |
|-------|-----------|----------|
| Crear proyecto Node.js/TypeScript | P0 | 0.5 dias |
| Implementar servidor HTTP/REST | P0 | 1 dia |
| Definir API endpoints | P0 | 1 dia |
| Implementar autenticacion por token | P0 | 1 dia |
| Crear estructura de comandos | P0 | 1 dia |
**API Endpoints propuestos:**
```
POST /api/v1/auth/login
GET /api/v1/account
GET /api/v1/positions
GET /api/v1/quote/:symbol
POST /api/v1/orders
DELETE /api/v1/orders/:ticket
PATCH /api/v1/positions/:ticket
GET /api/v1/history
WS /ws/stream
```
#### Semana 2: Comunicacion con EA
| Tarea | Prioridad | Esfuerzo |
|-------|-----------|----------|
| Disenar protocolo de comunicacion EA-Gateway | P0 | 1 dia |
| Implementar socket server para EA | P0 | 2 dias |
| Implementar command queue | P0 | 1 dia |
| Manejar respuestas asincronas | P0 | 1 dia |
**Protocolo propuesto (JSON sobre TCP):**
```json
// Request (Gateway -> EA)
{
"id": "uuid",
"command": "EXECUTE_TRADE",
"params": {
"symbol": "XAUUSD",
"action": "BUY",
"lots": 0.1,
"sl": 2640,
"tp": 2680
}
}
// Response (EA -> Gateway)
{
"id": "uuid",
"success": true,
"ticket": 12345678,
"data": {
"openPrice": 2650.50,
"openTime": "2026-01-28T10:30:00Z"
}
}
```
#### Semana 3: Testing y Hardening
| Tarea | Prioridad | Esfuerzo |
|-------|-----------|----------|
| Unit tests para gateway | P0 | 2 dias |
| Integration tests con mocks | P0 | 1 dia |
| Error handling robusto | P0 | 1 dia |
| Logging y monitoring | P1 | 1 dia |
**Entregables Fase 1:**
- [ ] Servicio gateway funcional en puerto 8081
- [ ] API REST documentada
- [ ] Socket server para comunicacion con EA
- [ ] Tests con cobertura >70%
---
### Fase 2: Expert Advisor (EA) (2-3 semanas)
**Objetivo:** Desarrollar el Expert Advisor que ejecutara operaciones en MT4
#### Semana 1: EA Base
| Tarea | Prioridad | Esfuerzo |
|-------|-----------|----------|
| Crear estructura base del EA | P0 | 1 dia |
| Implementar cliente socket | P0 | 2 dias |
| Parsear comandos JSON | P0 | 1 dia |
| Implementar heartbeat | P0 | 1 dia |
**Estructura del EA:**
```
MT4BridgeEA/
├── MT4BridgeEA.mq4 # EA principal
├── SocketLib.mqh # Libreria de socket
├── JsonParser.mqh # Parser JSON
├── CommandHandler.mqh # Manejador de comandos
└── README.md # Documentacion
```
#### Semana 2: Operaciones de Trading
| Tarea | Prioridad | Esfuerzo |
|-------|-----------|----------|
| Implementar OrderSend (market) | P0 | 1 dia |
| Implementar OrderSend (pending) | P0 | 1 dia |
| Implementar OrderModify | P0 | 1 dia |
| Implementar OrderClose | P0 | 1 dia |
| Manejar errores MT4 | P0 | 1 dia |
**Codigos de error MT4 a manejar:**
- ERR_NO_ERROR (0)
- ERR_COMMON_ERROR (2)
- ERR_INVALID_TRADE_PARAMETERS (3)
- ERR_SERVER_BUSY (4)
- ERR_OLD_VERSION (5)
- ERR_NO_CONNECTION (6)
- ERR_NOT_ENOUGH_MONEY (134)
- ERR_TRADE_TOO_MANY_ORDERS (148)
#### Semana 3: Reporting y Reconexion
| Tarea | Prioridad | Esfuerzo |
|-------|-----------|----------|
| Implementar AccountInfo | P0 | 0.5 dias |
| Implementar PositionList | P0 | 0.5 dias |
| Implementar QuoteStream | P1 | 1 dia |
| Implementar auto-reconexion | P0 | 1 dia |
| Testing manual en cuenta demo | P0 | 2 dias |
**Entregables Fase 2:**
- [ ] Expert Advisor instalable en MT4
- [ ] Todas las operaciones de trading funcionales
- [ ] Auto-reconexion implementada
- [ ] Documentacion de instalacion
---
### Fase 3: Integracion MCP (1-2 semanas)
**Objetivo:** Conectar el mcp-mt4-connector existente con el gateway real
| Tarea | Prioridad | Esfuerzo |
|-------|-----------|----------|
| Actualizar mt4-client.ts para gateway real | P0 | 1 dia |
| Implementar manejo de errores completo | P0 | 1 dia |
| Agregar retry logic | P0 | 0.5 dias |
| Agregar timeout handling | P0 | 0.5 dias |
| Tests de integracion E2E | P0 | 2 dias |
| Documentar configuracion | P1 | 0.5 dias |
**Entregables Fase 3:**
- [ ] mcp-mt4-connector conectado a gateway real
- [ ] Todos los tools funcionales con MT4 real
- [ ] Tests E2E pasando
---
### Fase 4: Paper Trading Mode (1 semana)
**Objetivo:** Implementar modo de simulacion para pruebas seguras
| Tarea | Prioridad | Esfuerzo |
|-------|-----------|----------|
| Disenar modo paper trading | P0 | 0.5 dias |
| Implementar balance virtual | P0 | 1 dia |
| Simular ejecucion de ordenes | P0 | 1 dia |
| Tracking de P&L virtual | P0 | 1 dia |
| Switch entre paper/real | P0 | 0.5 dias |
**Entregables Fase 4:**
- [ ] Modo paper trading funcional
- [ ] Flag de configuracion para activar
- [ ] Metricas de paper trading
---
### Fase 5: Productionization (1-2 semanas)
**Objetivo:** Preparar para uso en produccion
| Tarea | Prioridad | Esfuerzo |
|-------|-----------|----------|
| Implementar rate limiting | P0 | 1 dia |
| Agregar risk limits | P0 | 1 dia |
| Implementar circuit breaker | P0 | 1 dia |
| Configurar alertas | P1 | 1 dia |
| Documentacion de operaciones | P1 | 1 dia |
| Runbook para incidentes | P1 | 1 dia |
**Risk Limits propuestos:**
- Max posiciones abiertas: 5
- Max lots por orden: 1.0
- Max drawdown diario: 5%
- Cooldown entre trades: 60 segundos
**Entregables Fase 5:**
- [ ] Rate limiting configurado
- [ ] Risk limits implementados
- [ ] Circuit breaker funcional
- [ ] Documentacion de operaciones
---
## Timeline Estimado
```
Fase 0: Preparacion |====| (1 sem)
Fase 1: MT4 Gateway |============| (3 sem)
Fase 2: Expert Advisor |============| (3 sem)
Fase 3: Integracion MCP |====| (1.5 sem)
Fase 4: Paper Trading |===| (1 sem)
Fase 5: Production |===| (1.5 sem)
|----|----|----|----|----|----|----|----|----|----|
S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11
Total estimado: 10-11 semanas
```
---
## Recursos Requeridos
### Personal
- 1 Desarrollador Senior (TypeScript + MQL4)
- 0.5 QA Engineer (testing)
### Infraestructura
- Maquina Windows para MT4 (o VM)
- Cuenta demo con broker
- CI/CD para gateway
### Dependencias Externas
- Broker MT4 (cuenta demo gratuita)
- Documentacion MQL4 (gratis)
---
## Criterios de Exito
| Metrica | Target | Medicion |
|---------|--------|----------|
| Latencia de ejecucion | <500ms | Promedio en paper trading |
| Uptime del gateway | >99% | Monitoring |
| Precision de ordenes | 100% | Ordenes ejecutadas vs solicitadas |
| Cobertura de tests | >70% | Jest/pytest coverage |
---
## Riesgos y Mitigaciones
| Riesgo | Probabilidad | Impacto | Mitigacion |
|--------|--------------|---------|------------|
| Complejidad MQL4 | Alta | Alto | Documentacion, pruebas incrementales |
| Latencia alta | Media | Medio | Optimizar comunicacion, caché |
| Desconexiones | Media | Alto | Auto-reconnect, alertas |
| Errores de trading | Alta | Critico | Paper trading obligatorio primero |
---
## Decision Gates
### Gate 1: Fin de Fase 1
- [ ] Gateway responde a requests
- [ ] Socket server acepta conexiones
- [ ] Tests unitarios pasan
### Gate 2: Fin de Fase 2
- [ ] EA se conecta al gateway
- [ ] Operaciones basicas funcionan en demo
- [ ] Reconexion automatica funciona
### Gate 3: Fin de Fase 3
- [ ] MCP tools ejecutan trades reales
- [ ] E2E tests pasan
- [ ] Documentacion completa
### Gate 4: Ready for Production
- [ ] Paper trading validado
- [ ] Risk limits funcionando
- [ ] Runbook creado
---
## Proximos Pasos Inmediatos
Si se decide priorizar esta epica:
1. **Semana 1:**
- Asignar desarrollador responsable
- Setup ambiente de desarrollo
- Crear cuenta demo con broker
2. **Semana 2:**
- Iniciar desarrollo del gateway
- Kick-off de arquitectura detallada
---
*Este roadmap sera actualizado conforme avance la implementacion.*
*Ultima actualizacion: 2026-01-28*