---
id: RF-MKT-004
title: Visualizacion Premium
type: requirement
status: Draft
priority: High
epic: OQI-009
project: trading-platform
version: 1.0.0
dates:
  created: 2026-01-04
  updated: 2026-01-04
tags:
  - marketplace
  - visualization
  - charts
  - indicators
  - tradingview
---

# RF-MKT-004: Visualizacion Premium

## Descripcion

El modulo de Visualizacion Premium ofrece herramientas graficas avanzadas tipo TradingView, incluyendo indicadores ML exclusivos, backtesting visual y alertas avanzadas. Complementa el modulo base de charts con funcionalidades premium.

## Objetivo

Monetizar las capacidades de visualizacion ofreciendo indicadores ML exclusivos y herramientas avanzadas de analisis que diferencien la plataforma de competidores.

## Pricing

### Visualizacion Premium
| Caracteristica | Valor |
|----------------|-------|
| Precio | $19/mes USD |
| Tipo | Subscription |
| Alternativa | Incluido en Plan Pro+ |

## Indicadores Disponibles

### Indicadores Basicos (Plan Free)

| Indicador | Descripcion |
|-----------|-------------|
| SMA | Simple Moving Average |
| EMA | Exponential Moving Average |
| RSI | Relative Strength Index |
| MACD | Moving Average Convergence Divergence |
| Bollinger Bands | Bandas de volatilidad |
| Volume | Volumen de operaciones |

### Indicadores ML Exclusivos (Premium)

#### 1. Predictor de Rango
```yaml
name: Range Predictor
id: ml_range_predictor
description: Predice rangos de precio para las proximas 4-24 horas
features:
  - Rango esperado (high/low)
  - Probabilidad de breakout
  - Volatilidad esperada
  - Zonas de soporte/resistencia dinamicas
visualization:
  - Bandas de rango proyectadas
  - Colores por probabilidad
  - Flechas direccionales
```

#### 2. AMD Detector
```yaml
name: AMD Pattern Detector
id: ml_amd_detector
description: Detecta patrones Accumulation-Manipulation-Distribution
features:
  - Identificacion de fase actual
  - Alertas de cambio de fase
  - Volumen institucional estimado
  - Zonas de interes
visualization:
  - Overlay en chart principal
  - Colores por fase (A=verde, M=amarillo, D=rojo)
  - Marcadores de eventos
```

#### 3. Signal Overlay
```yaml
name: Signal Overlay
id: ml_signal_overlay
description: Muestra senales ML directamente en el grafico
features:
  - Puntos de entrada/salida
  - Stop loss y take profit
  - Confidence por senal
  - Historial de senales
visualization:
  - Flechas de BUY/SELL
  - Lineas de SL/TP
  - Panel de stats
```

#### 4. Smart Money Tracker
```yaml
name: Smart Money Tracker
id: ml_smart_money
description: Rastrea movimientos de ballenas y institucionales
features:
  - Deteccion de ordenes grandes
  - Flujo de capital
  - Zonas de liquidez
  - Divergencias retail vs institucional
visualization:
  - Histograma de flujo
  - Overlay de zonas
  - Alertas de movimiento
```

## Funcionalidades Premium

### Backtesting Visual

```gherkin
Feature: Backtesting Visual

  Scenario: Ejecutar backtest
    Given tengo Visualizacion Premium activa
    And estoy en chart de BTC/USDT
    When configuro backtest:
      | parametro    | valor           |
      | estrategia   | AMD + Signals   |
      | periodo      | 90 dias         |
      | capital      | $10,000         |
    Then veo resultados en el grafico
    And veo trades simulados marcados
    And veo metricas de performance

  Scenario: Ver estadisticas de backtest
    Given he ejecutado un backtest
    Then veo:
      | metrica          | ejemplo    |
      | Total trades     | 45         |
      | Win rate         | 67%        |
      | Profit factor    | 2.3        |
      | Max drawdown     | -12%       |
      | Sharpe ratio     | 1.8        |
```

### Alertas Avanzadas

```gherkin
Feature: Alertas de Indicadores

  Scenario: Crear alerta de indicador
    Given tengo Premium activo
    When creo alerta para AMD Detector
    And configuro: "Notificar cambio de fase a Distribution"
    Then la alerta se activa
    And recibo notificacion cuando detecte fase D

  Scenario: Alertas combinadas
    Given tengo multiples indicadores
    When creo alerta combinada:
      | condicion                          |
      | AMD en fase Accumulation          |
      | AND Signal Overlay muestra BUY    |
      | AND Range Predictor < 5% volatil  |
    Then recibo alerta solo si todas se cumplen
```

### Multi-Chart Layout

```gherkin
Feature: Multi-Chart

  Scenario: Layout personalizado
    Given tengo Premium activo
    When creo layout de 4 charts
    And asigno BTC, ETH, SOL, AVAX
    Then veo 4 charts sincronizados
    And puedo guardar layout
    And el zoom/scroll es sincronizado
```

## Integracion con OQI-003-trading-charts

```mermaid
flowchart LR
    subgraph OQI-003 [Trading Charts Base]
        A[Chart Engine]
        B[Basic Indicators]
    end

    subgraph OQI-009 [Marketplace Premium]
        C[ML Indicators]
        D[Backtesting]
        E[Advanced Alerts]
    end

    A --> C
    A --> D
    B --> E
    C --> A
```

### Extension del Chart Engine

```typescript
// Interfaz para indicadores premium
interface PremiumIndicator {
  id: string;
  name: string;
  type: 'overlay' | 'panel';
  requiresSubscription: boolean;
  calculate(data: OHLCV[]): IndicatorResult;
  render(ctx: CanvasRenderingContext2D): void;
}

// Registro de indicadores premium
const premiumIndicators: PremiumIndicator[] = [
  new RangePredictorIndicator(),
  new AMDDetectorIndicator(),
  new SignalOverlayIndicator(),
  new SmartMoneyIndicator()
];
```

## Modelo de Datos

### Tabla: `visualization_subscriptions`

| Campo | Tipo | Descripcion |
|-------|------|-------------|
| id | UUID | Identificador unico |
| user_id | UUID | FK a users |
| product_id | UUID | FK a products |
| subscription_id | UUID | FK a subscriptions |
| started_at | TIMESTAMP | Inicio suscripcion |
| expires_at | TIMESTAMP | Expiracion |
| is_active | BOOLEAN | Estado activo |

### Tabla: `user_chart_layouts`

| Campo | Tipo | Descripcion |
|-------|------|-------------|
| id | UUID | Identificador unico |
| user_id | UUID | FK a users |
| name | VARCHAR(100) | Nombre del layout |
| layout_config | JSONB | Configuracion de charts |
| indicators | JSONB | Indicadores activos |
| is_default | BOOLEAN | Layout por defecto |
| created_at | TIMESTAMP | Fecha creacion |

### Tabla: `indicator_alerts`

| Campo | Tipo | Descripcion |
|-------|------|-------------|
| id | UUID | Identificador unico |
| user_id | UUID | FK a users |
| indicator_id | VARCHAR(50) | ID del indicador |
| symbol | VARCHAR(20) | Par de trading |
| conditions | JSONB | Condiciones de alerta |
| notification_channels | JSONB | Canales de notificacion |
| is_active | BOOLEAN | Alerta activa |
| last_triggered | TIMESTAMP | Ultimo trigger |
| created_at | TIMESTAMP | Fecha creacion |

### Tabla: `backtest_results`

| Campo | Tipo | Descripcion |
|-------|------|-------------|
| id | UUID | Identificador unico |
| user_id | UUID | FK a users |
| symbol | VARCHAR(20) | Par de trading |
| strategy_config | JSONB | Configuracion estrategia |
| period_start | TIMESTAMP | Inicio periodo |
| period_end | TIMESTAMP | Fin periodo |
| initial_capital | DECIMAL(15,2) | Capital inicial |
| final_capital | DECIMAL(15,2) | Capital final |
| total_trades | INT | Total de trades |
| win_rate | DECIMAL(5,2) | Porcentaje ganadores |
| profit_factor | DECIMAL(5,2) | Factor de beneficio |
| max_drawdown | DECIMAL(5,2) | Drawdown maximo |
| sharpe_ratio | DECIMAL(5,2) | Ratio Sharpe |
| trades | JSONB | Detalle de trades |
| created_at | TIMESTAMP | Fecha ejecucion |

## Reglas de Negocio

1. **RN-001**: Indicadores basicos disponibles en plan Free
2. **RN-002**: Indicadores ML requieren suscripcion Premium o Plan Pro+
3. **RN-003**: Backtesting limitado a 30 dias en Free, ilimitado en Premium
4. **RN-004**: Maximo 3 alertas en Free, ilimitadas en Premium
5. **RN-005**: Multi-chart (hasta 4) solo en Premium
6. **RN-006**: Layouts guardados: 1 en Free, ilimitados en Premium

## Comparativa de Planes

| Feature | Free | Premium ($19/m) | Pro+ |
|---------|------|-----------------|------|
| Indicadores basicos | Si | Si | Si |
| Indicadores ML | No | Si | Si |
| Backtesting | 30 dias | Ilimitado | Ilimitado |
| Alertas | 3 | Ilimitadas | Ilimitadas |
| Multi-chart | No | 4 charts | 8 charts |
| Layouts guardados | 1 | Ilimitados | Ilimitados |

## Criterios de Aceptacion

- [ ] Indicadores ML renderizados correctamente
- [ ] Backtesting funcional con resultados visuales
- [ ] Sistema de alertas avanzadas
- [ ] Multi-chart sincronizado
- [ ] Guardado de layouts personalizados
- [ ] Verificacion de suscripcion para features premium
- [ ] Degradacion graceful cuando expira suscripcion

## Dependencias

- **OQI-003-trading-charts**: Motor de graficos base
- **OQI-006-ml-signals**: Datos de senales ML
- **OQI-004-payments**: Suscripciones

## Referencias

- [US-MKT-004: Activar Visualizacion](../historias-usuario/US-MKT-004-activar-visualizacion.md)
- [ET-MKT-001: Database](../especificaciones/ET-MKT-001-database.md)
