- 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>
361 lines
9.4 KiB
Markdown
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*
|