"""
Configuration pour Apollo Degen Bot
Trading ultra court terme avec leverage extrême (250x-1001x)
"""

# ============ API CONFIGURATION ============
APOLLOX_API_BASE = "https://fapi.apollox.finance"
APOLLOX_WS_BASE = "wss://fstream.apollox.finance"

# À remplir avec vos clés API
APOLLOX_API_KEY = ""
APOLLOX_API_SECRET = ""

# ============ TRADING CONFIGURATION ============

# Marchés majors pour trading précis
MAJOR_MARKETS = {
    'BTC': 'BTCUSDT',
    'ETH': 'ETHUSDT',
    'SOL': 'SOLUSDT',
    'BNB': 'BNBUSDT'
}

# Leverage settings (V10 utilise leverage dynamique)
LEVERAGE_CONSERVATIVE = 100   # Pour majors bien confirmés
LEVERAGE_AGGRESSIVE = 250     # Pour setups ultra-précis (V10 max)
LEVERAGE_DEGEN = 1001         # Mode degen max (à utiliser avec EXTRÊME précaution)

# V10 Dynamic Leverage Map (basé sur qualité du signal)
V10_LEVERAGE_MAP = {
    'PERFECT': 250,    # Score 1.0 + 4 confluences
    'EXCELLENT': 225,  # Score 1.0 OU 4 confluences
    'VERY_GOOD': 200,  # Score 0.95+
    'GOOD': 200        # Score 0.90+
}

# Position sizing (% du capital) - LEGACY
POSITION_SIZE_CONSERVATIVE = 0.02  # 2% pour 100x
POSITION_SIZE_AGGRESSIVE = 0.01    # 1% pour 250x
POSITION_SIZE_DEGEN = 0.005        # 0.5% pour 1001x

# V10 Dynamic Risk Management
V10_RISK_MAP = {
    'PERFECT': 0.03,    # 3% pour signaux parfaits (250x)
    'EXCELLENT': 0.025, # 2.5% pour excellents signaux (225x)
    'VERY_GOOD': 0.022, # 2.2% pour très bons signaux (200x)
    'GOOD': 0.02        # 2% pour bons signaux (200x)
}

# V10 Pyramiding Settings
V10_PYRAMID_ENABLED = True
V10_PYRAMID_LEVEL_1 = 0.005  # Ajouter à +0.5% profit
V10_PYRAMID_SIZE_1 = 0.5     # 50% de position initiale
V10_PYRAMID_LEVEL_2 = 0.010  # Ajouter à +1.0% profit
V10_PYRAMID_SIZE_2 = 0.25    # 25% de position initiale

# V10 Strategy Performance Tracking
V10_STRATEGY_BOOST_THRESHOLD = 0.8    # Boost si WR >= 80%
V10_STRATEGY_BOOST_MULTIPLIER = 1.1   # +10% score
V10_STRATEGY_PENALTY_THRESHOLD = 2    # Skip si 2+ losses sans win
V10_RISK_BOOST_HOT_STRATEGY = 1.3     # +30% risk si WR >= 90%
V10_RISK_PENALTY_COLD_STRATEGY = 0.7  # -30% risk si WR <= 30%

# ============ SIGNAL CONFIGURATION ============

# Timeframes pour analyse
TIMEFRAME_PRIMARY = '1m'      # Timeframe principal pour signaux
TIMEFRAME_SECONDARY = '5m'    # Confirmation
TIMEFRAME_CONTEXT = '15m'     # Contexte macro

# Nombre de chandeliers pour analyse
LOOKBACK_PERIODS = {
    '1m': 100,
    '5m': 60,
    '15m': 40,
    '1h': 24
}

# ============ INDICATORS PARAMETERS ============

# RSI ultra-réactif pour court terme
RSI_PERIOD = 7           # Plus court = plus réactif
RSI_OVERSOLD = 25        # Zone de survente
RSI_OVERBOUGHT = 75      # Zone de surachat

# MACD rapide pour momentum
MACD_FAST = 8
MACD_SLOW = 17
MACD_SIGNAL = 9

# Bollinger Bands
BB_PERIOD = 14
BB_STD = 2.0

# EMA pour trend ultra court
EMA_FAST = 8
EMA_SLOW = 21

# Volume
VOLUME_MA_PERIOD = 20
VOLUME_SPIKE_THRESHOLD = 2.0  # 2x la moyenne = spike

# ============ ENTRY RULES ============

# Scores minimums pour entrée
MIN_SIGNAL_SCORE_CONSERVATIVE = 0.75  # 75% de confiance
MIN_SIGNAL_SCORE_AGGRESSIVE = 0.85    # 85% de confiance
MIN_SIGNAL_SCORE_DEGEN = 0.90         # 90% de confiance (quasi certitude)

# Confluence requirements (nombre d'indicateurs qui doivent être d'accord)
MIN_CONFLUENCES_CONSERVATIVE = 2
MIN_CONFLUENCES_AGGRESSIVE = 3
MIN_CONFLUENCES_DEGEN = 4

# ============ RISK MANAGEMENT ============

# NOTE: SL/TP sont maintenant déterminés par la STRATÉGIE (plug-and-play architecture)
# Les paramètres ci-dessous sont OBSOLÈTES et gardés pour référence seulement

# OBSOLÈTE - SL/TP viennent du signal maintenant
# STOP_LOSS_PCT = {
#     100: 0.008,    # 0.8% SL pour 100x (liquidation ~1%)
#     225: 0.00025,  # 0.025% SL pour 225x (MA20 CROSS - +32.38% return, 19.2% WR, Ratio 6:1)
#     250: 0.00025,  # 0.025% SL pour 250x (MA20 CROSS - +32.38% return, 19.2% WR, Ratio 6:1)
#     1001: 0.0008   # 0.08% SL pour 1001x (liquidation ~0.1%)
# }

# OBSOLÈTE - TP Ratio vient du signal maintenant
# TAKE_PROFIT_RATIO = 6.0  # 6:1 reward/risk (MA20 CROSS - +32.38% return, 271 trades, 19.2% WR)

# Trailing stop
TRAILING_STOP_ACTIVATION = 0.003  # Active après +0.3%
TRAILING_STOP_DISTANCE = 0.0015   # Trail à 0.15%

# ============ SHITCOIN TOP DETECTOR ============

# Critères pour détecter un top de shitcoin
SHITCOIN_TOP_PARAMS = {
    'min_pump_percent': 50,        # Pump minimum de 50%
    'pump_timeframe_hours': 24,    # Dans les 24h
    'volume_spike_min': 5.0,       # Volume 5x la moyenne
    'rsi_overbought': 80,          # RSI très élevé
    'bearish_divergence': True,    # Divergence baissière requise
    'rejection_wick_min': 0.03     # Mèche de rejet 3%+
}

# Leverage pour shorts shitcoins (plus conservateur - risque de pump supplémentaire)
SHITCOIN_SHORT_LEVERAGE = 100
SHITCOIN_SHORT_POSITION_SIZE = 0.01

# ============ BACKTESTING ============

# Période de backtest
BACKTEST_START_DATE = '2025-09-01'  # 1 mois et demi de données
BACKTEST_INITIAL_CAPITAL = 1000.0   # $1000 initial

# Frais
TRADING_FEE_MAKER = 0.0002   # 0.02%
TRADING_FEE_TAKER = 0.0005   # 0.05%

# Slippage pour simulation réaliste
SLIPPAGE_PCT = 0.0005  # 0.05% slippage moyen

# ============ LOGGING ============
LOG_LEVEL = 'INFO'
LOG_FILE = 'apollo_degen_bot.log'
