🔧 Mes forks Freqtrade et FreqUI sont pu ...

🔧 Mes forks Freqtrade et FreqUI sont publics — pourquoi les utiliser et comment s'y mettre

Apr 24, 2026

Salut à tous,

J'en ai brièvement parlé dans mon dernier post, mais ça mérite un article dédié : mes deux forks personnalisés de Freqtrade et FreqUI sont désormais publics sur GitHub. Et je pense sincèrement que si tu suis Freqtrade France, tu as intérêt à les utiliser plutôt que les versions officielles, du moins, à l'avenir en tout cas il y a pas mal de fonctionnalités assez cool que je transmettrais à tout le monde via ce repo.

image

Petit point de vocabulaire d'abord : quand je dis "Freqtrade upstream", je parle de la version officielle de Freqtrade — celle que tout le monde télécharge par défaut depuis le repo GitHub officiel freqtrade/freqtrade. "Upstream" c'est un terme Git qui désigne le projet d'origine à partir duquel on a créé un fork (une copie modifiée). Donc "mon fork" = ma version personnalisée, "upstream" = la version officielle.

Pas parce que les versions officielles sont mauvaises — Freqtrade upstream est un excellent projet open source que je respecte énormément. Mais parce que ces forks contiennent des correctifs et des fonctionnalités que j'ai développés en 4 ans de trading en production, et qui répondent à des problèmes réels que j'ai rencontrés.

Soyons clairs : il n'y a rien d'obligatoire à utiliser ces forks. Pour le moment, il s'agit surtout de quelques fixes et de fonctionnalités liées à mes usages personnels. Mais c'est un projet vivant — c'est avec le temps que je vais l'enrichir avec toutes mes nouvelles idées et fonctionnalités. L'idée, c'est que ce fork devienne la version recommandée pour ceux qui suivent Freqtrade France.

💡 Côté mises à jour : je synchronise mon fork avec Freqtrade upstream quasi-systématiquement dès qu'une nouvelle version sort. Tu ne rates aucune mise à jour officielle en utilisant mon fork — tu as tout ce que l'upstream propose, plus mes ajouts.

Dans ce post, je vais te présenter en détail ce que contiennent ces forks, pourquoi je les ai créés, et comment les installer.

💡 J'ai prévu de continuer d'ajouter régulièrement des nouveautés sur ces forks, je ferai certainement un nouveau poste à ce sujet dans quelques mois pour présenter les futurs nouveautés.


🤖 freqtrade-fork — Mon fork de Freqtrade

👉 github.com/titouannwtt/freqtrade-fork

Ce fork est basé sur la version stable 2026.3 de Freqtrade (et sera mit à jour automatiquement pour les prochaines versions de freqtrade upstream). Il représente 27 fichiers modifiés, +832 lignes ajoutées par rapport à l'upstream. Chaque modification vient d'un manque ou d'un problème concret rencontré en production.

1. Gestion des fermetures externes (le game changer)

C'est la fonctionnalité qui justifie à elle seule d'utiliser ce fork si tu trades sur Hyperliquid.

Le problème : sur Hyperliquid (et potentiellement d'autres exchanges), une position peut disparaître sans que ton bot l'ait demandé. Ça arrive dans trois cas :

  • ADL (Auto-Deleveraging) : l'exchange ferme ta position de force pour rééquilibrer le marché

  • Liquidation : ta position atteint le seuil de liquidation

  • Fermeture manuelle : tu fermes toi-même la position depuis l'interface web d'Hyperliquid (parce que ça peut tous nous arriver un jour de paniquer et de cliquer 😅)

Avec Freqtrade upstream, quand ça arrive, le bot ne comprend pas ce qui s'est passé. La position n'existe plus sur l'exchange, mais elle existe encore dans la base de données du bot. Résultat : le bot tourne en boucle en essayant de gérer un trade fantôme. Il peut même tenter de placer de nouveaux ordres sur une position qui n'existe plus.

Mon fork ajoute une méthode _handle_external_close() qui détecte automatiquement cette situation et ferme proprement le trade en base de données. Il y a aussi un fetch_liquidation_fills() spécifique à Hyperliquid qui récupère le prix réel de liquidation pour que tes stats restent exactes.

💡 Si tu trades sur Hyperliquid en futures avec du levier, cette fonctionnalité va t'éviter des nuits blanches. Crois-moi, j'ai appris à la dure.

2. TrendRegularityFilter — Un filtre pour les stratégies short

J'ai développé ce plugin de pairlist pour résoudre un problème concret avec Infinity Hope Shorter : le bot se retrouvait parfois à shorter des cryptos en pleine tendance haussière linéaire. Quand une crypto monte de 30% en 3 jours sans jamais retomber, la shorter c'est du suicide — et c'est exactement ce qui arrivait avant que je crée ce filtre.

Le principe : le filtre calcule le R² (coefficient de détermination) d'une régression linéaire sur le prix de chaque paire sur une fenêtre de temps configurable. Le R², c'est un nombre entre 0 et 1 qui mesure à quel point le prix suit une ligne droite :

  • R² proche de 0 : le prix est chaotique, pas de tendance claire → OK pour shorter

  • R² proche de 1 : le prix monte (ou descend) en ligne droite → danger pour les shorts

Le filtre exclut automatiquement les paires dont le R² dépasse un seuil que tu définis (par exemple 0.85). Résultat : ta stratégie short ne touche jamais aux cryptos qui montent en ligne droite.

💡 Concrètement, depuis que j'utilise ce filtre sur Infinity Hope Shorter, mes pertes liées aux tendances haussières prolongées ont quasiment disparu. C'est un des facteurs qui expliquent le winrate de 98%+ de la stratégie.

⚠️ Ce filtre est conçu pour les stratégies short. Si tu fais du long only, tu n'en as probablement pas besoin — mais tu pourrais l'utiliser à l'envers pour favoriser les paires en tendance haussière.

3. Choix du sampler Hyperopt

Quand tu fais de l'optimisation avec freqtrade hyperopt, Freqtrade upstream utilise un seul algorithme d'optimisation (le sampler TPE d'Optuna) et tu ne peux pas le changer sans modifier le code source. Honnêtement, je ne trouve pas ça normal. Optuna (la librairie d'optimisation utilisée par Freqtrade) propose nativement plusieurs samplers, chacun avec des caractéristiques différentes — pourquoi en hardcoder un seul ?

Mon fork ajoute une simple option --sampler en ligne de commande. Voici les 6 algorithmes disponibles et ce qu'ils apportent :

  • TPE (Tree-structured Parzen Estimator) — c'est le défaut de Freqtrade upstream, et c'est un bon choix par défaut. Il apprend des résultats précédents pour proposer des combinaisons de plus en plus pertinentes. Pour la plupart des cas d'usage, TPE fait le job. Si tu ne sais pas quoi choisir, reste sur TPE.

  • NSGA-II — optimisation multi-objectif. Au lieu d'optimiser un seul critère (le profit), il peut optimiser plusieurs critères en même temps (profit ET drawdown par exemple). Utile quand tu veux trouver un compromis entre performance et risque.

  • NSGA-III — version améliorée de NSGA-II, meilleure quand tu as 3 objectifs ou plus à optimiser simultanément.

  • CMA-ES — particulièrement bon quand tes paramètres sont des nombres continus (comme un seuil RSI entre 20 et 80). Il adapte sa zone de recherche au fur et à mesure. Moins adapté aux paramètres catégoriels (comme le choix d'un indicateur).

  • GP (Gaussian Process) — optimisation bayésienne classique. Très efficace quand le nombre d'epochs est limité (il essaie de trouver le meilleur résultat avec le moins d'essais possible). En contrepartie, il devient lent quand le nombre de paramètres est élevé.

  • QMC (Quasi-Monte Carlo) — exploration quasi-aléatoire mais structurée. Utile pour une première exploration d'un espace de recherche inconnu, avant de passer à un sampler plus ciblé comme TPE ou CMA-ES.

En pratique, je lance souvent un premier hyperopt en QMC pour explorer large, puis un second en TPE ou CMA-ES pour affiner. Mais pour la majorité des gens, TPE reste le meilleur choix — et c'est pour ça que c'est le défaut. Mon ajout, c'est juste de te donner le choix sans avoir à toucher au code.

Exemple d'utilisation :

freqtrade hyperopt --strategy MaStrategie --sampler cmaes --epochs 500

Le fork inclut aussi une fonction de loss personnalisée (hyperopt_loss_my_profit_drawdown) qui optimise le profit tout en pénalisant le drawdown. C'est celle que j'utilise pour toutes mes stratégies.

4. Scripts de lancement

Trois scripts qui simplifient la vie au quotidien :

  • launch_bot.sh — lance un bot avec auto-restart (si le bot crash, il redémarre automatiquement après 60 secondes)

  • launch_dashboard.sh — lance FreqUI en mode dashboard uniquement (sans bot de trading)

  • download.sh — télécharge les 10 derniers jours de données de marché pour un exchange donné

💡 Le launch_bot.sh est particulièrement utile en production. Freqtrade peut crasher pour plein de raisons (timeout API, erreur réseau, bug rare). Avec ce script, le bot redémarre tout seul et tu ne perds pas de trades.

5. Intégration FreqUI custom

Quand tu fais freqtrade install-ui avec mon fork, il installe automatiquement mon FreqUI custom (le frequi-fork) à la place de l'upstream. Aucune configuration supplémentaire.


🖥️ frequi-fork — Mon fork de FreqUI

image

👉 github.com/titouannwtt/frequi-fork

Celui-là, c'est un gros morceau. On parle de +38 000 lignes de code ajoutées sur 148 fichiers modifiés. J'ai quasi-réécrit l'interface pour en faire un vrai cockpit de gestion multi-bots.

FreqUI upstream, c'est bien pour gérer un seul bot. Mais dès que tu en fais tourner plusieurs en parallèle (ce qui est mon cas avec 6 bots), l'interface de base montre vite ses limites. C'est pour ça que j'ai développé ce fork.

1. Surveillance multi-bots (Bot Comparison)

C'est la fonctionnalité centrale du fork. Une interface dédiée (~4 500 lignes de code) qui te permet de voir tous tes bots côte à côte :

  • Colonnes personnalisables : tu choisis quelles métriques afficher (profit, winrate, trades ouverts, drawdown, etc.)

    image

  • Groupes et tags : organise tes bots par catégorie (par exchange, par direction long/short, par stratégie...)

    image

  • 13 types d'alertes configurables : sois notifié quand un bot dépasse un seuil de drawdown, quand un trade est ouvert depuis trop longtemps, etc.

    image

  • Tri et filtres : trie par profit, par winrate, par nombre de trades ouverts...

    image

  • Export CSV : exporte les données de tous tes bots pour analyse dans un tableur

L'upstream affiche juste une liste basique de bots. Mon fork te donne un vrai tableau de bord pour gérer une flotte.

2. Dashboard personnalisable avec widgets

Un système de widgets drag-and-drop que tu peux réorganiser comme tu veux :

  • Market Pulse : prix BTC/ETH en temps réel + Fear & Greed Index (via CoinGecko et Alternative.me)

    image

  • Activity Timeline : fil d'activité de tous tes bots (entrées, sorties, DCA, alertes)

    image

  • Performance Heatmap : vue calendrier de tes performances (jour/semaine/mois)

    image

  • Risk Overview : exposition nette/brute, jauges de drawdown, suivi de distance de liquidation

    image

  • Stress Test : simule l'impact de scénarios de choc (-50% à +50%) sur tes positions ouvertes

    image

  • Log Viewer amélioré : logs colorés, filtrés en temps réel via WebSocket

    image

  • Trades Log : journal compact et filtrable de tous les trades

    image

3. Popovers détaillés (cartes glassmorphism)

Clique sur n'importe quelle métrique dans l'interface et tu obtiens une carte détaillée en glassmorphism avec :

  • La DCA ladder : visualisation des niveaux de rechargement et du prix moyen d'entrée

    image

  • La distance de liquidation : en pourcentage et en valeur absolue

    image

  • Les projections mensuelles : estimation de profit basée sur les performances récentes

    image

  • La courbe d'équité : évolution du capital dans le temps

  • La comparaison entre bots : benchmark d'un bot par rapport aux autres

    image

L'upstream te donne un chiffre. Mon fork te donne le contexte autour du chiffre.

4. Interface en français 🇫🇷

FreqUI upstream n'a aucune internationalisation. Tout est en anglais, point.

Mon fork intègre un système i18n complet avec 1 200+ clés de traduction et 6 langues disponibles :

  • 🇫🇷 Français (traduction complète)

  • 🇬🇧 Anglais

  • 🇩🇪 Allemand

  • 🇪🇸 Espagnol

  • 🇮🇹 Italien

  • 🇵🇹 Portugais

Pour une communauté francophone, c'est quand même plus agréable d'avoir l'interface dans sa langue.

5. Composants améliorés

Au-delà des nouvelles fonctionnalités, les composants existants de FreqUI sont aussi améliorés :

  • Graphiques de profit unifiés avec benchmarks crypto (BTC, ETH) pour comparaison

    image

  • Détails de trade enrichis : visualisation de la DCA ladder, historique des ordres, distance de liquidation

    image

    image

  • Settings redesignés avec un style glassmorphism moderne


🚀 Installation — Comment passer aux forks

L'installation est pensée pour être simple. Si tu as déjà Freqtrade installé, la migration prend 5 minutes.

Installation fraîche

git clone https://github.com/titouannwtt/freqtrade-fork.git
cd freqtrade-fork
./setup.sh -i
freqtrade install-ui

C'est tout. Le install-ui va automatiquement télécharger et installer le FreqUI custom.

Migration depuis Freqtrade upstream

Si tu as déjà un Freqtrade upstream qui tourne, la migration est simple :

  • Sauvegarde ta config et ta base de données (les fichiers .json et .sqlite dans ton dossier)

  • Clone le fork dans un nouveau dossier

  • Copie tes fichiers de config dans live_configs/

  • Lance ./setup.sh -i puis freqtrade install-ui

  • Copie ta base de données dans le nouveau dossier

  • Lance avec ./launch_bot.sh ta_config.json

💡 Tes stratégies, configs et bases de données sont 100% compatibles. Le fork ne modifie pas le format des données — il ajoute des fonctionnalités par-dessus.

💡 Et si tu utilises un agent IA (comme Claude Code), il peut parfaitement s'occuper de toute l'installation et de la migration de Freqtrade vers freqtrade-fork à ta place — y compris la sauvegarde de tes fichiers. C'est le genre de tâche répétitive où l'IA excelle.

⚠️ Note importante : nous, on n'utilise pas Docker. L'installation se fait directement sur la machine (ou un VPS). C'est plus simple, plus léger, et ça évite une couche de complexité supplémentaire. Toutes les instructions ci-dessus sont prévues pour une installation native.


🤔 Pourquoi utiliser ces forks plutôt que l'upstream ?

Je résume les raisons principales :

  • Si tu trades sur Hyperliquid : la gestion des fermetures externes est quasi-indispensable. Sans elle, tu risques des incohérences entre ton bot et l'exchange qui peuvent te coûter cher.

  • Si tu fais du short : le TrendRegularityFilter t'évitera de shorter des paires en pleine tendance haussière.

  • Si tu fais beaucoup d'hyperopt : pouvoir changer de sampler en une option CLI, c'est un gain de temps énorme.

  • Si tu gères plusieurs bots : le FreqUI custom est conçu pour ça. L'upstream n'est pas fait pour gérer une flotte.

  • Si tu préfères une interface en français : l'upstream est anglais uniquement.

  • Si tu suis Freqtrade France : les stratégies que je partage sont développées et testées sur ces forks. Tu auras la meilleure compatibilité.

Encore une fois, rien d'obligatoire. Si Freqtrade upstream te suffit, il n'y a aucune raison de changer. Mais si tu te retrouves dans un de ces cas de figure, le fork peut te simplifier la vie.


📋 Informations importantes

Exchanges compatibles

Les forks sont compatibles avec les mêmes exchanges que Freqtrade upstream. Pour les résidents français, voici les exchanges enregistrés PSAN auprès de l'AMF :

  • Binance, Kraken, Bitget, Bybit, OKX, Gate.io, Bitvavo

Hyperliquid est un DEX sans KYC, hors du cadre PSAN. C'est l'exchange que j'utilise principalement pour mes bots futures.

Licence

Les deux forks sont sous licence GPL-3.0, comme Freqtrade upstream. Tu peux les utiliser, les modifier et les redistribuer librement.

Contributions

Les repos sont ouverts aux contributions. Si tu trouves un bug, si tu veux proposer une fonctionnalité, ou si tu veux améliorer une traduction — n'hésite pas à ouvrir une issue ou une pull request sur GitHub.


🤝 La suite

Ce post est une présentation générale. Ce fork va continuer à évoluer avec le temps, et j'ai déjà pas mal de choses en tête.

🔮 Prochaines fonctionnalités envisagées

Parmi les choses que j'envisage activement, il y a notamment le support des stocks (actions) sur Hyperliquid. Hyperliquid a récemment ajouté la possibilité de trader des actions tokenisées — NVIDIA, Tesla, Apple, etc. — directement sur la plateforme. L'idée serait de pouvoir gérer ces positions depuis Freqtrade, exactement comme on le fait avec les paires crypto. Imaginez un bot qui trade NVDA/USDC en futures sur Hyperliquid avec les mêmes stratégies DCA qu'on utilise déjà... C'est un sujet sur lequel je travaille.

Côté FreqUI, je prévois une présentation complète avec screenshots et tutoriels poussés quand le fork sera un peu plus mature. Pour l'instant, j'ai surtout ajouté des features sur le dashboard et il reste encore quelques bugs à corriger. Je veux d'abord finir la refonte de fond que j'ai en tête avant de faire une démo propre. Ça viendra !

Si tu as des questions sur les forks ou si tu rencontres un problème à l'installation — dis-le en commentaire ou passe sur le Discord !

☕ Si ce post t'a été utile, tu peux me soutenir ici : https://buymeacoffee.com/freqtrade_france

⚠️ Je ne suis pas conseiller financier. Ce contenu reflète mon expérience personnelle et mon approche du trading algorithmique. Les performances passées ne préjugent pas des performances futures. Il existe d'autres méthodes tout aussi valables.

Vous aimez cette publication ?

Achetez un café à Freqtrade France

Plus de Freqtrade France