# 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 MLModel - `selectedModelId`: ID del modelo seleccionado - `onModelChange`: Callback de cambio - `variant`: '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 thresholds - `onConfigChange`: Callback de cambio - `onSave/onReset`: Callbacks de acción - `readOnly`: 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 configuraciones - `onParamsChange`: Callback de cambio - `onSave/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 1. **Iconos:** lucide-react (Brain, TrendingUp, etc.) 2. **Colores:** Dark theme (gray-800, gray-900, border-gray-700) 3. **Exports:** default export + named type exports 4. **State:** useState, useMemo, useCallback 5. **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