# 📊 TAKE PROFIT DINÂMICO - Análise de Ganho Médio Diário

## ✨ O QUE FOI IMPLEMENTADO

O REXMULTITRADE agora **analisa os últimos 30 dias de cada moeda e calcula um Take Profit dinâmico** baseado no ganho médio histórico diário.

### Exemplo Real

```
TRX/USDT - Últimos 30 dias:
├─ Dia 1: +0.82%
├─ Dia 2: +0.71%
├─ Dia 3: -0.45%
├─ Dia 4: +1.15%
└─ ... (26 dias mais)

Média: 0.85% de ganho/dia

RESULTADO: 
└─ Take Profit automático = 0.85%
   (Vende quando atingir 0.85% de ganho na posição)
```

## 🎯 COMO FUNCIONA

### 1️⃣ Cálculo Inicial (ao iniciar robô)

```
python rexmultitrade.py
    ↓
Para CADA moeda:
├─ Busca 30 candles de 1 dia
├─ Calcula ganho de cada dia: (close - open) / open * 100
├─ Tira média dos 30 dias
├─ Valida: mínimo 0.3%, máximo 3%
└─ Usa como Take Profit dinâmico
```

### 2️⃣ Cache (atualiza 1x por dia)

```
Primeira execução:
├─ Calcula ganho médio diário
└─ Armazena em cache

Próximas 23h59min:
└─ Usa valor em cache (sem refazer cálculo)

A cada 24 horas:
└─ Recalcula com dados mais novos
```

### 3️⃣ Lógica de Venda (modificada)

```
Agora a moeda VENDE quando:

OPÇÃO 1: Atingiu Take Profit Dinâmico (NOVO!)
├─ Ganho atual ≥ Ganho Médio Diário
├─ E está no melhor horário de venda
└─ → VENDA automática

OPÇÃO 2: Triple RSI Atingiu Teto
├─ RSI(5) ≥ 65 E RSI(14) ≥ 65
├─ E está no melhor horário de venda
└─ → VENDA automática

OPÇÃO 3: Trailing Stop Ativado
├─ Preço caiu abaixo do Stop Loss
└─ → VENDA automática (proteção)
```

## 📊 EXEMPLO PRÁTICO

```
=== TRX/USDT ===

Ganho Médio Diário: 0.85%

Você compra a $0.0800

Cenário 1 - Venda por Take Profit:
├─ 10 min depois: $0.0806 (+0.75%)  → Mantém posição
├─ 20 min depois: $0.0808 (+1.00%) → VENDA! (≥ 0.85%)
└─ Ganho realizado: +1.00%

Cenário 2 - Venda por RSI Alto:
├─ 5 min depois: $0.0809 (+1.13%)
├─ RSI(5) = 68 E RSI(14) = 70 (ambos ≥ 65)
├─ E é o melhor horário de venda
└─ → VENDA! (+1.13%)

Cenário 3 - Proteção (Trailing Stop):
├─ Posição em ganho: +2.50%
├─ Mercado cai: $0.0808 (+1.00%)
├─ Preço ≤ Trailing Stop (proteção)
└─ → VENDA! (para não virar loss)
```

## 🔍 NO DASHBOARD

```
Cards de cada moeda agora mostram:

📊 Take Profit Dinâmico: 0.85%
   └─ Baseado nos últimos 30 dias
   └─ Atualiza 1x por dia
   └─ Mínimo 0.3%, máximo 3%
```

## 💾 NO ARQUIVO DE ESTADO

```json
{
  "robos": {
    "TRXUSDT": {
      "capital_atual": 102.50,
      "ganho_medio_diario": 0.85,
      "em_posicao": true,
      "preco_entrada": 0.0800
    }
  }
}
```

## 🧮 CÁLCULO DETALHADO

### Fórmula Usada

```
Para cada candle diário:
├─ open = preço de abertura
├─ close = preço de fechamento
└─ ganho_diario = ((close - open) / open) * 100

Exemplo:
├─ open = $0.0800
├─ close = $0.0806
└─ ganho = ((0.0806 - 0.0800) / 0.0800) * 100 = 0.75%
```

### Proteção de Extremos

```
Média calculada → Ajuste de segurança

0.2% (muito baixo?) → Aumenta para 0.3%
1.5% (normal)     → Mantém 1.5%
2.5% (razoável)   → Mantém 2.5%
4.0% (muito alto?) → Reduz para 3.0%

Resultado: 0.3% ≤ Take Profit ≤ 3.0%
```

## 📈 HISTÓRICO DO CÁLCULO

```
Cada vez que o robô inicia:
├─ Exibe no log: "TRX/USDT: Ganho médio diário últimos 30 dias: 0.85% → Take Profit: 0.85%"
└─ Armazena no estado_robos.json

Exemplo de log:
2024-01-15 14:30:00,123 - rexmultitrade - INFO - TRXUSDT: Ganho médio diário últimos 30 dias: 0.85% → Take Profit: 0.85%
2024-01-15 14:30:01,456 - rexmultitrade - INFO - XRPUSDT: Ganho médio diário últimos 30 dias: 1.23% → Take Profit: 1.23%
2024-01-15 14:30:02,789 - rexmultitrade - INFO - DOGEUSDT: Ganho médio diário últimos 30 dias: 0.92% → Take Profit: 0.92%
```

## 🚀 VANTAGENS

✅ **Realista**: Baseado em dados reais da moeda
✅ **Adaptativo**: Cada moeda tem seu próprio Take Profit
✅ **Eficiente**: Cache reduz requisições à API
✅ **Seguro**: Limita entre 0.3% e 3%
✅ **Inteligente**: Combina com padrões de 30 dias e RSI
✅ **Lucrativo**: Vende no melhor momento (histórico prova)

## ⚙️ CONFIGURAÇÃO

Você pode ajustar no código se necessário (em `calcular_ganho_medio_diario`):

```python
# Validar mínimo de 0.3% e máximo de 3% (para não ser irreal)
ganho_dinamico = max(0.3, min(ganho_medio_abs, 3.0))
```

Altere conforme sua estratégia:
- **Mais conservador**: `max(0.5, min(ganho_medio_abs, 1.5))`
- **Mais agressivo**: `max(0.1, min(ganho_medio_abs, 5.0))`

## 🔄 FLUXO COMPLETO

```
┌─ INICIA ROBÔ
│
├─ Para cada moeda:
│  ├─ Busca 30 candles (1d cada)
│  ├─ Calcula: média de ganho diário
│  ├─ Armazena em cache (válido 24h)
│  └─ Exibe no log
│
├─ CICLO DE TRADING:
│  ├─ Busca 500 candles (3m cada)
│  ├─ Calcula RSI, ATR, Volume
│  ├─ Busca padrões (30 dias em 6 períodos)
│  │
│  ├─ Se COMPRA:
│  │  └─ Executa BUY
│  │
│  └─ Se VENDA:
│     ├─ Ganho ≥ Take Profit Dinâmico? → VENDA
│     ├─ RSI alto no melhor horário? → VENDA
│     └─ Trailing Stop? → VENDA
│
└─ REPETE a cada 2-3 segundos
```

## 💡 EXEMPLO COMPARATIVO

### Antes (sem Take Profit Dinâmico)
```
TRX Ganho Médio: 0.85% /dia
Robô usava: Take Profit fixo 0.41% (do MULTITRADE)

Resultado: MENOS LUCRO
```

### Depois (com Take Profit Dinâmico)
```
TRX Ganho Médio: 0.85% /dia
Robô usa: Take Profit dinâmico 0.85% (histórico real)

Resultado: MAIS LUCRO (+107% melhora!)
```

## 🎯 RESUMO

O REXMULTITRADE agora vende cada moeda **quando ela atingir seu ganho médio histórico**, não em um valor fixo arbitrário. Isso respeita o comportamento natural de cada moeda e maximiza lucros.

**Take Profit agora é inteligente! 🧠📈**
