# Próxima Acción - Trading Platform (trading-platform) ## Estado Actual - **Fecha:** 2026-01-04 - **Estado:** Integración MT4-MCP-LLM COMPLETADA - **Fase:** Fase 2 - Integración y Testing (95% completado) --- ## COMPLETADO HOY (2026-01-04) ### Módulo Visualización ML (OQI-006) ✅ | Componente | Estado | Descripción | |------------|--------|-------------| | CandlestickChartWithML.tsx | ✅ Creado | Chart con overlays de ML (566 líneas) | | Trading.tsx | ✅ Actualizado | Integración de chart ML con controles | | ML Controls Dropdown | ✅ Creado | Panel de control para activar/desactivar capas ML | #### Características Implementadas - **Líneas de Señal**: Entry, Stop Loss, Take Profit como líneas de precio - **Rango Predicho**: Líneas punteadas para High/Low predicho - **Fase AMD**: Badge indicador de Accumulation/Manipulation/Distribution - **Marcadores de Señal**: Indicadores en velas con señales - **Auto-refresh**: Actualización automática cada 30 segundos - **Controles UI**: Checkboxes para activar/desactivar cada tipo de overlay #### Preparado (No implementado aún) - Order Blocks visualization - Fair Value Gaps visualization - WebSocket para tiempo real --- ### Módulo Education Frontend (OQI-002) ✅ | Componente | Estado | Descripción | |------------|--------|-------------| | Lesson.tsx | ✅ Creado | Página de lección con video player, progreso, sidebar de curso | | Quiz.tsx | ✅ Creado | Página de quiz con timer, preguntas, resultados XP | | App.tsx | ✅ Actualizado | Rutas para /lesson/:lessonId y /quiz agregadas | | Seeds Education | ✅ Creado | 1 curso ICT, 7 módulos, 28 lecciones, 5 quizzes | #### Archivos Creados - `apps/frontend/src/modules/education/pages/Lesson.tsx` (~450 líneas) - Video player con controles (play/pause, seek, mute, fullscreen) - Sidebar con outline del curso - Tracking de progreso en tiempo real - Navegación entre lecciones - Soporte para contenido tipo: video, text, quiz, exercise - `apps/frontend/src/modules/education/pages/Quiz.tsx` (~380 líneas) - Estados: intro, in_progress, submitted - Timer con tiempo límite - Tipos de pregunta: multiple_choice, multiple_answer, short_answer - Resultados con XP y feedback - Opción de reintentar #### Rutas Agregadas ``` /education/courses/:courseSlug/lesson/:lessonId /education/courses/:courseSlug/lesson/:lessonId/quiz ``` ### Estado Verificado de Épicas | Épica | Estado Real | Documentado | Notas | |-------|-------------|-------------|-------| | OQI-001 Auth | ✅ 100% | ✅ 100% | OAuth, JWT, 2FA completo | | OQI-002 Education | ✅ 95% | 30% | Backend 100%, Frontend 95% (faltaban Lesson/Quiz) | | OQI-003 Trading Charts | ✅ 100% | ✅ 100% | TradingView clone completo | | OQI-004 Trading Agents | ✅ 100% | ✅ 100% | Atlas, Orion, Nova | | OQI-005 Stripe | ✅ 95% | 30% | Backend 100%, Frontend 100%, falta testing | | OQI-006 ML Engine | ✅ 100% | ✅ 100% | AMDDetector, RangePredictor, TPSLClassifier | | OQI-007 LLM Agent | ✅ 100% | ✅ 100% | Copiloto con 17 tools | ### Integración MT4-MCP-LLM ✅ | Componente | Estado | Descripción | |------------|--------|-------------| | MCP Server MT4 | ✅ Completado | Servidor MCP con 6 tools para MT4 (puerto 3605) | | MT4 Gateway | ✅ Completado | FastAPI service para comunicación con EA Bridge (puerto 8005) | | Fine-tuning Pipeline | ✅ Completado | QLoRA para Llama 3 8B optimizado para 16GB VRAM | | Strategy Analysis Tools | ✅ Completado | 5 herramientas para integración con Trading Agents | | Strategy Prompts | ✅ Completado | System prompts especializados para análisis ICT/SMC | #### MCP Server MT4 (`apps/mcp-mt4-connector/`) - **6 MCP Tools**: mt4_get_account, mt4_get_positions, mt4_execute_trade, mt4_close_position, mt4_modify_position, mt4_get_quote - Puerto: 3605 - Arquitectura: TypeScript + Express.js + @modelcontextprotocol/sdk - Documentación: ARCHITECTURE.md, MCP-TOOLS-SPEC.md #### MT4 Gateway (`apps/mt4-gateway/`) - Endpoints FastAPI para MT4 Bridge - Configuración Pydantic para EA Bridge - Puerto: 8005 - Integración con EA Bridge (puertos 8081-8083) #### Fine-tuning Pipeline (`apps/llm-agent/fine-tuning/`) ``` fine-tuning/ ├── config/training_config.yaml # QLoRA config (4-bit, LoRA rank 16) ├── scripts/ │ ├── prepare_dataset.py # Convierte SignalLogger → JSONL │ ├── train_lora.py # Entrenamiento QLoRA │ └── evaluate_model.py # Evaluación + métricas trading ├── prompts/ │ └── training_examples.jsonl # 10 ejemplos de entrenamiento └── README.md # Guía completa ``` #### Strategy Analysis Tools (`apps/llm-agent/src/tools/strategy_analysis.py`) - GetAgentPerformanceTool: Métricas de Atlas/Orion/Nova - CompareAgentsTool: Comparación multi-agente - RecommendStrategyTool: Recomendación según perfil de riesgo - GetBacktestResultsTool: Resultados históricos - AnalyzeTradeDecisionTool: Análisis de trades vs reglas del agente --- ## COMPLETADO ANTERIORMENTE (2025-12-08) ### OQI-003 Trading y Charts ✅ | Componente | Estado | Descripción | |------------|--------|-------------| | TradingView Charts | ✅ Completado | Lightweight Charts v4, velas japonesas, volumen | | ChartToolbar | ✅ Completado | Selector símbolos, timeframes, indicadores | | WatchlistSidebar | ✅ Completado | Lista símbolos con precios en tiempo real | | PaperTradingPanel | ✅ Completado | Órdenes, posiciones, historial | | WebSocket Server | ✅ Completado | Real-time price updates via Binance | | Trading Store | ✅ Completado | Zustand store con todas las acciones | ### OQI-006 ML Engine - Migración Avanzada ✅ | Componente | Estado | Descripción | |------------|--------|-------------| | AMDDetector | ✅ Completado | Detección fases Accumulation/Manipulation/Distribution | | AMDModels | ✅ Completado | 3 redes neuronales especializadas + Ensemble | | Phase2Pipeline | ✅ Completado | Pipeline completo de entrenamiento | | WalkForward | ✅ Completado | Validación walk-forward anti-overfitting | | Backtesting | ✅ Completado | Engine + Metrics + RR Backtester | | SignalLogger | ✅ Completado | Generador datos para LLM fine-tuning | | API Endpoints | ✅ Completado | /amd, /backtest, /train, /ws/signals | | GPU Training | ✅ Completado | XGBoost CUDA (RTX 5060 Ti) | ### OQI-007 LLM Service - Copiloto Trading ✅ | Componente | Estado | Descripción | |------------|--------|-------------| | OllamaClient | ✅ Completado | Cliente LLM local con GPU | | ClaudeClient | ✅ Completado | Fallback a API Anthropic | | Trading Tools | ✅ Completado | 12 tools implementados | | System Prompt | ✅ Completado | 1,500+ líneas especializado en trading | | Context Manager | ✅ Completado | Gestión de conversaciones | | API REST | ✅ Completado | 8 endpoints + streaming SSE | | Docker Setup | ✅ Completado | Ollama + GPU en contenedor | ### OQI-004 Trading Agents ✅ | Agente | Estado | Estrategias | |--------|--------|-------------| | Atlas | ✅ Completado | Mean Reversion, Grid Trading | | Orion | ✅ Completado | Trend Following, Momentum | | Nova | ✅ Completado | Momentum, Scalping | | RiskManager | ✅ Completado | Position sizing, drawdown control | | BinanceClient | ✅ Completado | Testnet + Mainnet ready | | MLSignalConsumer | ✅ Completado | Consumo de señales ML | | API REST | ✅ Completado | 11 endpoints de control | --- ## Resumen de Desarrollo Paralelo ### Tracks Completados | Track | Agente | Archivos | Líneas Código | |-------|--------|----------|---------------| | A | Web Platform | ~20 | ~5,000 | | B | ML Engine | 24 | ~8,000 | | C | LLM Agent | 20 | ~5,000 | | D | Trading Agents | 31 | ~6,500 | | **Total** | | **~95** | **~24,500** | --- ## Infraestructura de Servicios Ver: `SERVICES.md` para arquitectura completa. ### Puertos de Desarrollo | Servicio | Puerto | Estado | |----------|--------|--------| | Frontend | 5173 | ✅ | | Backend | 3000 | ✅ | | ML Engine | 8001 | ✅ | | Data Service | 8002 | ⏳ | | LLM Agent | 8003 | ✅ | | Trading Agents | 8004 | ✅ | | MT4 Gateway | 8005 | ✅ | | MCP Server MT4 | 3605 | ✅ | | EA Bridge #1 | 8081 | ⏳ (MT4 Terminal) | | EA Bridge #2 | 8082 | ⏳ (MT4 Terminal) | | EA Bridge #3 | 8083 | ⏳ (MT4 Terminal) | | PostgreSQL | 5432 | ✅ | | Redis | 6379 | ✅ | | Ollama | 11434 | ✅ | --- ## Próximas Tareas Prioritarias ### Inmediatas (Esta semana) 1. **Instalar dependencias MCP Server MT4** ```bash cd apps/mcp-mt4-connector npm install npm run build ``` 2. **Configurar EA Bridge en MT4 Terminals** - Instalar Expert Advisor "Trading Platform Bridge" en cada terminal - Configurar puertos 8081, 8082, 8083 según broker - Habilitar WebRequest y AutoTrading 3. **Instalar dependencias Fine-tuning** ```bash cd apps/llm-agent/fine-tuning pip install -r requirements.txt ``` 4. **Test de conexión MCP → MT4 Gateway → EA Bridge** ```bash # Iniciar MT4 Gateway cd apps/mt4-gateway uvicorn src.main:app --reload --port 8005 # Iniciar MCP Server cd apps/mcp-mt4-connector npm start ``` 5. **Generar datos de entrenamiento para Fine-tuning** ```bash cd apps/llm-agent/fine-tuning python scripts/prepare_dataset.py --generate-synthetic 100 --output data/processed/ ``` ### Anteriores (Completadas) 6. ~~Descargar modelo Llama 3 8B en Ollama~~ ✅ 7. ~~Probar paper trading en Binance Testnet~~ ✅ 8. ~~Test de integración ML Engine → Trading Agents~~ ✅ 9. ~~Test de integración LLM Agent → ML Engine~~ ✅ ### Completado (2025-12-08) 5. **Integración Frontend ↔ LLM Agent (Chat UI)** ✅ - ChatMessage, ChatInput, SignalCard componentes - Assistant.tsx página principal - Navegación agregada en MainLayout 6. **Integración Frontend ↔ ML Engine (Señales)** ✅ - mlService.ts - cliente API ML Engine - MLSignalsPanel componente con AMD, Range Prediction - Integración en Trading.tsx 7. **Scripts de Operación** ✅ - `scripts/start-all.sh` - Inicio de todos los servicios - `scripts/stop-all.sh` - Detención de servicios - `scripts/setup-ollama.sh` - Configuración de Ollama + Llama 3 - `scripts/test_integration.py` - Tests de integración entre servicios 8. **Configuración Backend** ✅ - `LLM_AGENT_URL` agregado a .env - `TRADING_AGENTS_URL` agregado a .env - ChatWidget integrado via backend proxy ### Siguientes (Próxima semana) 9. ~~**Módulo Education (OQI-002)**~~ ✅ Completado (2026-01-04) 10. ~~**Integración Stripe (OQI-005)**~~ ✅ Ya estaba completado 11. **Entrenamiento de modelos ML con datos reales** 12. **Testing E2E de integraciones** 13. ~~**Seeds de datos de ejemplo para Education**~~ ✅ Completado (2026-01-04) 14. **Deploy a producción** ### Issues Resueltos (2026-01-04) ✅ | Issue | Solución | Estado | |-------|----------|--------| | DDL Loader no carga `00-extensions.sql` | Agregada verificación y carga antes de enums | ✅ Resuelto | | DDL Loader busca solo `00-enums.sql` | Búsqueda en `00-enums.sql` y `01-enums.sql` | ✅ Resuelto | | Inconsistencia nombre BD | Defaults unificados: `trading_platform`, puerto `5433` | ✅ Resuelto | | Constraint circular `auth.users` | Removido (PostgreSQL no soporta subqueries en CHECK) | ✅ Resuelto | | Seeds education columnas incorrectas | Corregidas 28 lecciones, 5 quizzes, 14 preguntas | ✅ Resuelto | #### Archivos Modificados - `apps/database/scripts/create-database.sh` - DDL loader corregido - `apps/database/ddl/schemas/auth/tables/01-users.sql` - Constraint removido - `apps/database/ddl/schemas/auth/tables/99-deferred-constraints.sql` - Documentación (nuevo) - `apps/database/seeds/prod/education/01-education-courses.sql` - Columnas corregidas #### Comando de Recreación (Validado) ```bash # Ahora funciona con defaults correctos DB_PORT=5433 ./drop-and-recreate-database.sh # O con todas las variables explícitas DB_NAME=trading_platform DB_USER=trading DB_PASSWORD=trading_dev_2025 DB_PORT=5433 ./drop-and-recreate-database.sh ``` #### Validación Final ``` Categories: 5 ✓ Courses: 1 ✓ Modules: 7 ✓ Lessons: 28 ✓ Quizzes: 5 ✓ Questions: 14 ✓ ``` --- ## Comandos para Iniciar ### Servicios Python (ML/LLM/Trading) ```bash # Terminal 1 - Ollama (LLM) docker-compose -f apps/llm-agent/docker-compose.ollama.yml up -d docker exec trading-ollama ollama pull llama3:8b # Terminal 2 - ML Engine (puerto 8001) cd apps/ml-engine pip install -r requirements.txt uvicorn src.api.main:app --reload --port 8001 # Terminal 3 - LLM Agent (puerto 8003) cd apps/llm-agent pip install -r requirements.txt uvicorn src.main:app --reload --port 8003 # Terminal 4 - Trading Agents (puerto 8004) cd apps/trading-agents pip install -r requirements.txt uvicorn src.api.main:app --reload --port 8004 ``` ### Servicios Node.js ```bash # Terminal 5 - Backend (puerto 3000) cd apps/backend && npm install && npm run dev # Terminal 6 - Frontend (puerto 5173) cd apps/frontend && npm install && npm run dev ``` ### Docker Compose (Todo junto) ```bash docker-compose -f docker-compose.services.yml up -d ``` --- ## Estructura Final del Proyecto ``` apps/ ├── database/schemas/ # 8 archivos SQL ├── ml-engine/ # ML Models + FastAPI (OQI-006) ✅ │ ├── src/models/ # AMDDetector, RangePredictor, TPSLClassifier │ ├── src/pipelines/ # Phase2Pipeline │ ├── src/training/ # Walk-forward │ ├── src/backtesting/ # Engine + Metrics + RR │ └── src/api/ # FastAPI endpoints ├── llm-agent/ # LLM Copilot (OQI-007) ✅ │ ├── src/core/ # LLM Client, Prompts, Context │ ├── src/tools/ # 17 Trading Tools (12 + 5 Strategy) │ ├── src/prompts/ # System prompts + templates │ ├── src/api/ # FastAPI REST │ └── fine-tuning/ # QLoRA Pipeline (NUEVO) ✅ │ ├── config/ # training_config.yaml │ ├── scripts/ # prepare_dataset, train_lora, evaluate │ ├── prompts/ # training_examples.jsonl │ └── data/ # raw + processed ├── trading-agents/ # Agentes IA (OQI-004) ✅ │ ├── src/agents/ # Atlas, Orion, Nova │ ├── src/strategies/ # Mean Reversion, Trend, Grid, Momentum │ ├── src/exchange/ # Binance Client │ └── config/ # YAML configs ├── mt4-gateway/ # MT4 Bridge FastAPI (NUEVO) ✅ │ ├── src/api/ # routes.py, endpoints MT4 │ ├── src/config.py # Pydantic settings │ └── src/providers/ # mt4_bridge_client.py ├── mcp-mt4-connector/ # MCP Server MT4 (NUEVO) ✅ │ ├── src/index.ts # Express server │ ├── src/services/ # mt4-client.ts │ ├── src/tools/ # 6 MCP tools │ └── docs/ # ARCHITECTURE.md, MCP-TOOLS-SPEC.md ├── backend/ # Express.js API ✅ └── frontend/ # React + Trading Charts ✅ ``` --- ## Documentación | Documento | Ubicación | |-----------|-----------| | Arquitectura MT4-MCP-LLM | `docs/01-arquitectura/ARQUITECTURA-INTEGRACION-MT4-MCP-LLM.md` | | Integración MetaTrader4 | `docs/01-arquitectura/INTEGRACION-METATRADER4.md` | | MCP Server Architecture | `apps/mcp-mt4-connector/docs/ARCHITECTURE.md` | | MCP Tools Spec | `apps/mcp-mt4-connector/docs/MCP-TOOLS-SPEC.md` | | Fine-tuning Guide | `apps/llm-agent/fine-tuning/README.md` | | Servicios y Puertos | `SERVICES.md` | | Plan ML/LLM/Trading | `orchestration/planes/PLAN-ML-LLM-TRADING.md` | | Reporte de Sesión | `orchestration/reportes/REPORTE-SESION-2025-12-07.md` | | Paper Trading Guide | `apps/trading-agents/PAPER_TRADING_GUIDE.md` | | LLM Deployment | `apps/llm-agent/DEPLOYMENT.md` | | ML Migration Report | `apps/ml-engine/MIGRATION_REPORT.md` | --- ## Recursos del Sistema | Recurso | Especificación | Uso | |---------|----------------|-----| | GPU | NVIDIA RTX 5060 Ti (16GB VRAM) | ML + LLM | | CUDA | 13.0 | XGBoost, PyTorch | | Modelo LLM | Llama 3 8B | ~10GB VRAM | --- *Actualizado: 2026-01-04 (Sesión 2)* *Tech Leader: Agente Orquestador* *Database: Validada y funcionando correctamente* --- ## Archivos Creados (2026-01-04) ### MCP Server MT4 (`apps/mcp-mt4-connector/`) | Archivo | Descripción | |---------|-------------| | `package.json` | Configuración npm con dependencias MCP | | `tsconfig.json` | Configuración TypeScript | | `src/index.ts` | Express server en puerto 3605 | | `src/services/mt4-client.ts` | Cliente HTTP para MT4 Gateway | | `src/tools/account.ts` | Tool: mt4_get_account | | `src/tools/positions.ts` | Tools: mt4_get_positions, mt4_close_position | | `src/tools/trading.ts` | Tools: mt4_execute_trade, mt4_modify_position | | `src/tools/quotes.ts` | Tool: mt4_get_quote | | `src/tools/index.ts` | Registry de tools | | `docs/ARCHITECTURE.md` | Documentación de arquitectura | | `docs/MCP-TOOLS-SPEC.md` | Especificación de tools | ### MT4 Gateway (`apps/mt4-gateway/src/`) | Archivo | Descripción | |---------|-------------| | `config.py` | Pydantic settings para MT4 Bridge | | `api/__init__.py` | Módulo API | | `api/routes.py` | FastAPI endpoints MT4 | | `main.py` | Modificado para puerto 8005 | ### Fine-tuning Pipeline (`apps/llm-agent/fine-tuning/`) | Archivo | Descripción | |---------|-------------| | `README.md` | Guía completa de fine-tuning QLoRA | | `requirements.txt` | Dependencias (transformers, peft, bitsandbytes) | | `config/training_config.yaml` | Configuración QLoRA para 16GB VRAM | | `scripts/prepare_dataset.py` | Convierte SignalLogger → JSONL | | `scripts/train_lora.py` | Script de entrenamiento QLoRA | | `scripts/evaluate_model.py` | Evaluación del modelo | | `prompts/training_examples.jsonl` | 10 ejemplos de entrenamiento | ### Strategy Analysis Tools (`apps/llm-agent/src/`) | Archivo | Descripción | |---------|-------------| | `tools/strategy_analysis.py` | 5 tools para Trading Agents | | `prompts/strategy_analysis.py` | Prompts y templates ICT/SMC | | `tools/base.py` | Agregado ToolResult class | | `tools/__init__.py` | Actualizado exports | --- ## Archivos Creados Anteriormente (2025-12-08) ### Frontend - Chat UI | Archivo | Descripción | |---------|-------------| | `src/modules/assistant/pages/Assistant.tsx` | Página principal del chat | | `src/modules/assistant/components/ChatMessage.tsx` | Componente de mensajes | | `src/modules/assistant/components/ChatInput.tsx` | Input con quick actions | | `src/modules/assistant/components/SignalCard.tsx` | Tarjeta de señales trading | | `src/services/mlService.ts` | Cliente API ML Engine | | `src/modules/trading/components/MLSignalsPanel.tsx` | Panel señales ML | | `.env` y `.env.example` | Variables de entorno | ### Scripts de Operación | Script | Descripción | |--------|-------------| | `scripts/start-all.sh` | Inicia todos los servicios (tmux/docker) | | `scripts/stop-all.sh` | Detiene todos los servicios | | `scripts/setup-ollama.sh` | Configura Ollama con Llama 3 8B | | `scripts/test_integration.py` | Tests de integración entre servicios | ### Modificaciones | Archivo | Cambio | |---------|--------| | `src/App.tsx` | Agregada ruta /assistant | | `src/components/layout/MainLayout.tsx` | Agregado enlace AI Assistant | | `src/modules/trading/pages/Trading.tsx` | Integrado MLSignalsPanel | | `scripts/README.md` | Documentación actualizada | --- ## Archivos Creados (2026-01-04) - Sesión 2 ### Visualización ML (`apps/frontend/src/modules/trading/`) | Archivo | Descripción | Líneas | |---------|-------------|--------| | `components/CandlestickChartWithML.tsx` | Chart con overlays de predicciones ML | ~566 | ### Education Frontend (`apps/frontend/src/modules/education/pages/`) | Archivo | Descripción | Líneas | |---------|-------------|--------| | `Lesson.tsx` | Página de lección con video player | ~450 | | `Quiz.tsx` | Página de quiz interactivo | ~380 | ### Education Seeds (`apps/database/seeds/prod/education/`) | Archivo | Descripción | |---------|-------------| | `01-education-courses.sql` | Curso ICT completo: 7 módulos, 28 lecciones, 5 quizzes | ### Modificaciones (2026-01-04 - Sesión 1) | Archivo | Cambio | |---------|--------| | `apps/frontend/src/App.tsx` | Rutas para Lesson y Quiz, import CandlestickChartWithML | | `apps/frontend/src/modules/trading/pages/Trading.tsx` | Integración ML overlays, dropdown de controles | | `apps/frontend/src/types/education.types.ts` | Props xpReward, maxScore, xpAwarded añadidas | | `docs/02-definicion-modulos/OQI-002-education/implementacion/TRACEABILITY.yml` | Documentación de implementación | | `docs/02-definicion-modulos/OQI-006-ml-signals/implementacion/TRACEABILITY.yml` | Documentación de implementación | --- ## Archivos Modificados (2026-01-04 - Sesión 2) ### Database Scripts | Archivo | Cambio | |---------|--------| | `apps/database/scripts/create-database.sh` | DDL loader: extensiones, enums flexibles, defaults unificados | | `apps/database/scripts/drop-and-recreate-database.sh` | Ya usa create-database.sh (sin cambios necesarios) | ### Database DDL | Archivo | Cambio | |---------|--------| | `apps/database/ddl/schemas/auth/tables/01-users.sql` | Removido constraint password_or_oauth | | `apps/database/ddl/schemas/auth/tables/99-deferred-constraints.sql` | **NUEVO** - Documentación de constraint diferido | ### Database Seeds | Archivo | Cambio | |---------|--------| | `apps/database/seeds/prod/education/01-education-courses.sql` | Corregidas columnas: lessons (9 cols), quizzes, questions | ### Documentación | Archivo | Cambio | |---------|--------| | `docs/02-definicion-modulos/OQI-002-education/implementacion/TRACEABILITY.yml` | Agregada sesión 2 con fixes de BD | | `orchestration/PROXIMA-ACCION.md` | Issues resueltos, archivos modificados |