FASE 0 - Preparación y Purga: - Archived 21 completed tasks to _archive/2026-01/ - Marked 4 docs as DEPRECATED - Created 3 baseline coherence reports FASE 1 - DDL-Backend Coherence: - audit.types.ts: +4 types (SystemEvent, TradingAudit, ApiRequestLog, DataAccessLog) - investment.types.ts: +4 types (RiskQuestionnaire, WithdrawalRequest, DailyPerformance, DistributionHistory) - entity.types.ts: +5 types (Symbol, TradingBot, TradingSignal, TradingMetrics, PaperBalance) FASE 2 - Backend-Frontend Coherence: - investmentStore.ts: New Zustand store with 20+ actions - mlStore.ts: New Zustand store with signal caching - alerts.service.ts: New service with 15 functions FASE 3 - Documentation: - OQI-009: Updated to 100% coverage, added ET-MKT-004-productos.md - OQI-010: Created full structure (STATUS.md, ROADMAP-MT4.md, ET-MT4-001-gateway.md) Coherence Baseline Established: - DDL-Backend: 31% (target 95%) - Backend-Frontend: 72% (target 85%) - Global: 39.6% (target 90%) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.7 KiB
3.7 KiB
02-ANALISIS.md - OQI-006 ML Utility Panels
Analisis de Comportamiento Esperado
ModelSelector
Comportamiento:
- Mostrar lista de modelos ML disponibles
- Permitir selección de modelo activo
- Mostrar métricas de accuracy por modelo
- Soportar variantes: dropdown, tabs, cards
- Indicar estado del modelo (active, training, inactive, deprecated)
Inputs:
models: Array de MLModelselectedModelId: ID del modelo seleccionadoonModelChange: Callback de cambiovariant: 'dropdown' | 'tabs' | 'cards'showMetrics: Mostrar accuracy
Outputs:
- Componente renderizado según variante
- Evento de selección de modelo
EnsemblePanel
Comportamiento:
- Configurar método de votación (weighted, majority, unanimous)
- Ajustar pesos de cada modelo con sliders
- Validar que suma de pesos = 100%
- Permitir bloquear pesos individuales
- Auto-calcular pesos por accuracy
Inputs:
config: EnsembleConfig con weights y thresholdsonConfigChange: Callback de cambioonSave/onReset: Callbacks de acciónreadOnly: Modo lectura
Outputs:
- Panel de configuración
- EnsembleConfig actualizado
ICTAnalysisPanel
Comportamiento:
- Configurar timeframe de análisis
- Habilitar/deshabilitar features ICT
- Ajustar parámetros por sección (Order Blocks, FVG, etc.)
- Secciones colapsables para organización
Inputs:
params: ICTParams con todas las configuracionesonParamsChange: Callback de cambioonSave/onReset: Callbacks de acción
Outputs:
- Panel de configuración con secciones
- ICTParams actualizado
Analisis de Capas Impactadas
┌─────────────────────────────────────────────┐
│ FRONTEND │
├─────────────────────────────────────────────┤
│ modules/ml/components/ │
│ ├── ModelSelector.tsx [NUEVO] │
│ ├── EnsemblePanel.tsx [NUEVO] │
│ ├── ICTAnalysisPanel.tsx [NUEVO] │
│ └── index.ts [MODIFICADO] │
├─────────────────────────────────────────────┤
│ Dependencias: │
│ lucide-react │
│ react (useState, useMemo, useCallback) │
└─────────────────────────────────────────────┘
Analisis de Dependencias
Dependencias Externas
| Paquete | Uso |
|---|---|
| lucide-react | Iconos (Brain, Sparkles, Settings2, etc.) |
| react | Framework, hooks |
Componentes Relacionados
| Componente | Relación |
|---|---|
| ConfidenceMeter | Muestra confidence del modelo seleccionado |
| ModelAccuracyDashboard | Comparación de modelos (complementario) |
| ICTAnalysisCard | Visualización de resultados ICT |
| EnsembleSignalCard | Muestra señal del ensemble |
Analisis de Patrones
Patrones Identificados en Módulo ML
- Iconos: lucide-react (Brain, TrendingUp, etc.)
- Colores: Dark theme (gray-800, gray-900, border-gray-700)
- Exports: default export + named type exports
- State: useState, useMemo, useCallback
- Props: TypeScript interfaces completas
Patrones Aplicados
- Consistencia con otros componentes ML
- Secciones colapsables para paneles complejos
- Validación de configuración con feedback visual
- Soporte para modo readOnly