{
  "patterns": {
    "UNKNOWN": {
      "name": "UNKNOWN",
      "enabled": true,
      "min_score": 40,
      "win_rate_threshold": 35.0,
      "description": "Pattern non identifié - Requiert surveillance",
      "stats": {
        "total_signals": 0,
        "total_trades": 55,
        "wins": 15,
        "losses": 40,
        "total_pnl": -10.267822478529947,
        "win_rate": 27.3,
        "avg_pnl": -0.187,
        "last_used": null
      }
    },
    "DEAD_CAT_BOUNCE": {
      "name": "DEAD_CAT_BOUNCE",
      "enabled": false,
      "min_score": 50,
      "win_rate_threshold": 40.0,
      "description": "Rebond temporaire dans tendance baissière - DANGEREUX",
      "stats": {
        "total_signals": 0,
        "total_trades": 0,
        "wins": 0,
        "losses": 0,
        "total_pnl": 0.0,
        "win_rate": 0.0,
        "avg_pnl": 0.0,
        "last_used": null
      }
    },
    "PROLONGED_DOWNTREND": {
      "name": "PROLONGED_DOWNTREND",
      "enabled": false,
      "min_score": 60,
      "win_rate_threshold": 45.0,
      "description": "Tendance baissière prolongée - TRÈS RISQUÉ",
      "stats": {
        "total_signals": 0,
        "total_trades": 0,
        "wins": 0,
        "losses": 0,
        "total_pnl": 0.0,
        "win_rate": 0.0,
        "avg_pnl": 0.0,
        "last_used": null
      }
    },
    "END_OF_CYCLE": {
      "name": "END_OF_CYCLE",
      "enabled": false,
      "min_score": 100,
      "win_rate_threshold": 50.0,
      "description": "Fin de cycle haussier - BLOCAGE ABSOLU",
      "stats": {
        "total_signals": 0,
        "total_trades": 0,
        "wins": 0,
        "losses": 0,
        "total_pnl": 0.0,
        "win_rate": 0.0,
        "avg_pnl": 0.0,
        "last_used": null
      }
    },
    "RSI_TRAP": {
      "name": "RSI_TRAP",
      "enabled": false,
      "min_score": 55,
      "win_rate_threshold": 40.0,
      "description": "Piège RSI en tendance baissière - RISQUÉ",
      "stats": {
        "total_signals": 0,
        "total_trades": 0,
        "wins": 0,
        "losses": 0,
        "total_pnl": 0.0,
        "win_rate": 0.0,
        "avg_pnl": 0.0,
        "last_used": null
      }
    },
    "STRONG_DOWNTREND": {
      "name": "STRONG_DOWNTREND",
      "enabled": false,
      "min_score": 65,
      "win_rate_threshold": 45.0,
      "description": "Tendance baissière forte - ÉVITER",
      "stats": {
        "total_signals": 0,
        "total_trades": 0,
        "wins": 0,
        "losses": 0,
        "total_pnl": 0.0,
        "win_rate": 0.0,
        "avg_pnl": 0.0,
        "last_used": null
      }
    },
    "ACTIVE_CRASH": {
      "name": "ACTIVE_CRASH",
      "enabled": false,
      "min_score": 70,
      "win_rate_threshold": 50.0,
      "description": "Crash actif en cours - BLOCAGE",
      "stats": {
        "total_signals": 0,
        "total_trades": 0,
        "wins": 0,
        "losses": 0,
        "total_pnl": 0.0,
        "win_rate": 0.0,
        "avg_pnl": 0.0,
        "last_used": null
      }
    },
    "STABLECOIN_REJECTED": {
      "name": "STABLECOIN_REJECTED",
      "enabled": false,
      "min_score": 45,
      "win_rate_threshold": 35.0,
      "description": "Stablecoin rejeté - Peu d'intérêt",
      "stats": {
        "total_signals": 0,
        "total_trades": 0,
        "wins": 0,
        "losses": 0,
        "total_pnl": 0.0,
        "win_rate": 0.0,
        "avg_pnl": 0.0,
        "last_used": null
      }
    },
    "HOLD": {
      "name": "HOLD",
      "enabled": true,
      "min_score": 40,
      "win_rate_threshold": 30.0,
      "description": "Signal HOLD - Neutre",
      "stats": {
        "total_signals": 11,
        "total_trades": 1,
        "wins": 0,
        "losses": 1,
        "total_pnl": -0.16474464579901982,
        "win_rate": 0.0,
        "avg_pnl": -0.165,
        "last_used": "2026-01-24T16:21:32.933198"
      }
    },
    "POSSIBLE": {
      "name": "POSSIBLE",
      "enabled": true,
      "min_score": 35,
      "win_rate_threshold": 30.0,
      "description": "Achat possible - Conditions moyennes",
      "stats": {
        "total_signals": 66,
        "total_trades": 76,
        "wins": 14,
        "losses": 62,
        "total_pnl": -17.502404962053554,
        "win_rate": 18.4,
        "avg_pnl": -0.23,
        "last_used": "2026-01-23T19:57:46.040028"
      }
    },
    "ACHAT": {
      "name": "ACHAT",
      "enabled": true,
      "min_score": 35,
      "win_rate_threshold": 30.0,
      "description": "Signal achat générique",
      "stats": {
        "total_signals": 4,
        "total_trades": 2,
        "wins": 1,
        "losses": 1,
        "total_pnl": 0.4737363839314668,
        "win_rate": 50.0,
        "avg_pnl": 0.237,
        "last_used": "2026-01-23T15:22:47.466272"
      }
    },
    "CREUX_REBOUND": {
      "name": "CREUX_REBOUND",
      "enabled": true,
      "min_score": 40,
      "win_rate_threshold": 25,
      "description": "Rebond depuis un creux - BON POTENTIEL",
      "stats": {
        "total_signals": 13627,
        "total_trades": 784,
        "wins": 224,
        "losses": 560,
        "total_pnl": -183.53310033960017,
        "win_rate": 28.6,
        "avg_pnl": -0.234,
        "last_used": "2026-02-08T17:05:41.554914"
      }
    },
    "EARLY_BREAKOUT": {
      "name": "EARLY_BREAKOUT",
      "enabled": true,
      "min_score": 45,
      "win_rate_threshold": 45.0,
      "description": "Cassure précoce - EXCELLENT",
      "stats": {
        "total_signals": 22,
        "total_trades": 10,
        "wins": 2,
        "losses": 8,
        "total_pnl": -8.567326628523531,
        "win_rate": 20.0,
        "avg_pnl": -0.857,
        "last_used": "2026-01-24T16:21:32.875382"
      }
    },
    "CONSOLIDATION_BREAKOUT": {
      "name": "CONSOLIDATION_BREAKOUT",
      "enabled": true,
      "min_score": 45,
      "win_rate_threshold": 45.0,
      "description": "Sortie de consolidation - BON",
      "stats": {
        "total_signals": 0,
        "total_trades": 0,
        "wins": 0,
        "losses": 0,
        "total_pnl": 0.0,
        "win_rate": 0.0,
        "avg_pnl": 0.0,
        "last_used": null
      }
    },
    "EMA_BULLISH": {
      "name": "EMA_BULLISH",
      "enabled": true,
      "min_score": 40,
      "win_rate_threshold": 40.0,
      "description": "Configuration EMA haussière - BON",
      "stats": {
        "total_signals": 24,
        "total_trades": 15,
        "wins": 3,
        "losses": 12,
        "total_pnl": -6.016712624510944,
        "win_rate": 20.0,
        "avg_pnl": -0.401,
        "last_used": "2026-01-24T00:28:29.050336"
      }
    },
    "CROSSOVER_IMMINENT": {
      "name": "CROSSOVER_IMMINENT",
      "enabled": true,
      "min_score": 40,
      "win_rate_threshold": 40.0,
      "description": "Croisement EMA imminent - BON",
      "stats": {
        "total_signals": 11,
        "total_trades": 0,
        "wins": 0,
        "losses": 0,
        "total_pnl": 0.0,
        "win_rate": 0.0,
        "avg_pnl": 0.0,
        "last_used": "2026-01-23T22:16:26.480572"
      }
    },
    "SQUEEZE_BREAKOUT": {
      "name": "SQUEEZE_BREAKOUT",
      "enabled": true,
      "min_score": 45,
      "win_rate_threshold": 45.0,
      "description": "Sortie de squeeze - EXCELLENT",
      "stats": {
        "total_signals": 150,
        "total_trades": 189,
        "wins": 44,
        "losses": 145,
        "total_pnl": -45.61633008310616,
        "win_rate": 23.3,
        "avg_pnl": -0.241,
        "last_used": "2026-01-27T07:27:19.832427"
      }
    },
    "SQUEEZE_WAITING": {
      "name": "SQUEEZE_WAITING",
      "enabled": true,
      "min_score": 35,
      "win_rate_threshold": 35.0,
      "description": "En attente de squeeze - MOYEN",
      "stats": {
        "total_signals": 12,
        "total_trades": 4,
        "wins": 3,
        "losses": 1,
        "total_pnl": 1.5022011112820643,
        "win_rate": 75.0,
        "avg_pnl": 0.376,
        "last_used": "2026-01-26T17:54:36.225340"
      }
    },
    "VOLUME_REVERSAL": {
      "name": "VOLUME_REVERSAL",
      "enabled": true,
      "min_score": 45,
      "win_rate_threshold": 40.0,
      "description": "Retournement volume - BON",
      "stats": {
        "total_signals": 0,
        "total_trades": 0,
        "wins": 0,
        "losses": 0,
        "total_pnl": 0.0,
        "win_rate": 0.0,
        "avg_pnl": 0.0,
        "last_used": null
      }
    },
    "RSI_REVERSAL": {
      "name": "RSI_REVERSAL",
      "enabled": true,
      "min_score": 45,
      "win_rate_threshold": 40.0,
      "description": "Retournement RSI - BON",
      "stats": {
        "total_signals": 11,
        "total_trades": 1,
        "wins": 0,
        "losses": 1,
        "total_pnl": -1.2828736369467575,
        "win_rate": 0.0,
        "avg_pnl": -1.283,
        "last_used": "2026-01-24T04:20:52.058452"
      }
    },
    "STRONG_UPTREND": {
      "name": "STRONG_UPTREND",
      "enabled": true,
      "min_score": 40,
      "win_rate_threshold": 40.0,
      "description": "Tendance haussière forte - EXCELLENT",
      "stats": {
        "total_signals": 2,
        "total_trades": 1,
        "wins": 0,
        "losses": 1,
        "total_pnl": -2.631578947368418,
        "win_rate": 0.0,
        "avg_pnl": -2.632,
        "last_used": "2026-01-23T18:35:41.596059"
      }
    },
    "HIGH_SCORE_OVERRIDE": {
      "name": "HIGH_SCORE_OVERRIDE",
      "enabled": true,
      "min_score": 60,
      "win_rate_threshold": 45.0,
      "description": "Score IA très élevé - Override des règles",
      "stats": {
        "total_signals": 14,
        "total_trades": 8,
        "wins": 1,
        "losses": 7,
        "total_pnl": -6.30531566847814,
        "win_rate": 12.5,
        "avg_pnl": -0.788,
        "last_used": "2026-01-24T13:12:38.912295"
      }
    },
    "OTHER": {
      "name": "OTHER",
      "enabled": true,
      "min_score": 40,
      "win_rate_threshold": 30.0,
      "description": "Autre pattern",
      "stats": {
        "total_signals": 0,
        "total_trades": 0,
        "wins": 0,
        "losses": 0,
        "total_pnl": 0.0,
        "win_rate": 0.0,
        "avg_pnl": 0.0,
        "last_used": null
      }
    },
    "TEST_PATTERN": {
      "name": "TEST_PATTERN",
      "enabled": true,
      "min_score": 35,
      "win_rate_threshold": 30.0,
      "description": "",
      "stats": {
        "total_signals": 0,
        "total_trades": 0,
        "wins": 0,
        "losses": 0,
        "total_pnl": 0.0,
        "win_rate": 0.0,
        "avg_pnl": 0.0,
        "last_used": null
      }
    },
    "NO_BUY": {
      "name": "NO_BUY",
      "enabled": true,
      "min_score": 35,
      "win_rate_threshold": 30.0,
      "description": "",
      "stats": {
        "total_signals": 5,
        "total_trades": 1,
        "wins": 0,
        "losses": 1,
        "total_pnl": -0.7098561685585536,
        "win_rate": 0.0,
        "avg_pnl": -0.71,
        "last_used": "2026-01-24T13:57:03.487197"
      }
    },
    "FALLING_KNIFE_BLOCKED": {
      "name": "FALLING_KNIFE_BLOCKED",
      "enabled": true,
      "min_score": 35,
      "win_rate_threshold": 30.0,
      "description": "",
      "stats": {
        "total_signals": 1,
        "total_trades": 1,
        "wins": 0,
        "losses": 1,
        "total_pnl": -0.1726618705035987,
        "win_rate": 0.0,
        "avg_pnl": -0.173,
        "last_used": "2026-01-23T17:27:40.320592"
      }
    },
    "PULLBACK": {
      "name": "PULLBACK",
      "enabled": true,
      "min_score": 35,
      "win_rate_threshold": 30.0,
      "description": "",
      "stats": {
        "total_signals": 625,
        "total_trades": 67,
        "wins": 23,
        "losses": 44,
        "total_pnl": 7.904934726757352,
        "win_rate": 34.3,
        "avg_pnl": 0.118,
        "last_used": "2026-02-08T17:04:52.289017"
      }
    },
    "SQUEEZE_SETUP": {
      "name": "SQUEEZE_SETUP",
      "enabled": true,
      "min_score": 35,
      "win_rate_threshold": 30.0,
      "description": "",
      "stats": {
        "total_signals": 113,
        "total_trades": 39,
        "wins": 13,
        "losses": 26,
        "total_pnl": -5.134125894601683,
        "win_rate": 33.3,
        "avg_pnl": -0.132,
        "last_used": "2026-01-25T08:42:32.641046"
      }
    },
    "POSSIBLE_BLOCKED": {
      "name": "POSSIBLE_BLOCKED",
      "enabled": true,
      "min_score": 35,
      "win_rate_threshold": 30.0,
      "description": "",
      "stats": {
        "total_signals": 0,
        "total_trades": 2,
        "wins": 1,
        "losses": 1,
        "total_pnl": 0.5767593380964886,
        "win_rate": 50.0,
        "avg_pnl": 0.288,
        "last_used": null
      }
    },
    "TREND_CONTINUATION": {
      "name": "TREND_CONTINUATION",
      "enabled": true,
      "min_score": 35,
      "win_rate_threshold": 20,
      "description": "",
      "stats": {
        "total_signals": 2977,
        "total_trades": 93,
        "wins": 29,
        "losses": 64,
        "total_pnl": -7.871330355197558,
        "win_rate": 31.2,
        "avg_pnl": -0.085,
        "last_used": "2026-02-08T17:04:10.761288"
      }
    },
    "NEUTRAL": {
      "name": "NEUTRAL",
      "enabled": true,
      "min_score": 35,
      "win_rate_threshold": 30.0,
      "description": "",
      "stats": {
        "total_signals": 0,
        "total_trades": 1,
        "wins": 0,
        "losses": 1,
        "total_pnl": -0.04226542688081647,
        "win_rate": 0.0,
        "avg_pnl": -0.042,
        "last_used": null
      }
    }
  },
  "blacklisted": [
    "POSSIBLE",
    "SQUEEZE_BREAKOUT",
    "EARLY_BREAKOUT",
    "UNKNOWN",
    "HIGH_SCORE_OVERRIDE"
  ],
  "last_updated": "2026-02-08T17:06:36.189884"
}