
🚀 Nouvelle stratégie : KAC-Index v1 – ATR + CCI, indexée sur le TOTAL3
Cette stratégie freqtrade gratuite est partagée dans sa version 1, telle qu’elle a été trouvée initialement par backtest. Elle n'a subit aucun ajustement, c'est à dire que vous devrez ajuster certains paramètres pour l'optimiser un minimum afin d'améliorer ces résultats, tester d'autres valeurs que celle déjà en place, etc.
Dans l'état actuel des choses, la stratégie est déjà très bien mais on peut sans aucun doute l'améliorer (nous verrons cela dans le version v2).
Voici une stratégie long terme, robuste et surtout radicalement différente. Ses performances ne sont pas exceptionnelles mais les instructions qui vont avec vous permettrons de l'optimiser ou de reprendre des éléments dans d'autres stratégies.
Elle combine 2 indicateurs puissants :
📈 ATR (Average True Range), pour capter la volatilité réelle.
🧭 CCI (Commodity Channel Index), pour évaluer les niveaux de surachat/survente.
Mais surtout, elle introduit une notion ultra rare et puissante :
🔍 L'indexation sur le TOTAL3
La majorité des stratégies techniques travaillent directement avec les prix exprimés en USDT/USDC. C'est pratique, mais cela brouille l'analyse.
Pourquoi ? Parce que quand tout le marché monte ou descend, même une mauvaise crypto peut avoir l'air "haussière".
Avec l'indexation sur le TOTAL3 (la capitalisation totale des altcoins hors BTC et ETH), on fait autrement 👇
➡️ Chaque prix est divisé par le TOTAL3 lissé sur 24h. Ce qui veut dire que :
📊 Si un actif monte plus que le TOTAL3 → c'est une hausse forte et relative.
📉 Si un actif chute alors que le TOTAL3 monte → mauvais signe spécifique à l'actif.
⚖️ Si un actif chute en USDT mais que le TOTAL3 chute aussi exactement autant → alors le prix reste plat du point de vue de notre stratégie.
En clair, on ne regarde plus si un actif monte en absolu… mais s’il surperforme le marché altcoins.
🎯 C'est une manière de filtrer les faux signaux, d'éviter les effets de panique ou d’euphorie globales.
🧠 Comment c’est fait techniquement ?
La logique est codée dans la fonction addtvgraph() et utilisée dans populate_indicators().
📥 Téléchargement : On récupère les données journalières de TOTAL3 depuis TradingView avec
tv.get_hist(...).🧪 Lissage : On applique
dataframe['1d_TOTAL3'].rolling(24).mean()pour transformer cette donnée journalière en base horaire.📊 Indexation : Les colonnes
open,high,low,closesont divisées par cette moyenne (dataframe[column] = dataframe[column] / dataframe['TOTAL3']).📏 Indicateurs : Les calculs de ATR et CCI se font sur ces valeurs indexées.
🔁 Rétablissement : Après calcul, les valeurs OHLC sont remises à leur état initial pour compatibilité avec Freqtrade/UI/exports.
Cette double normalisation rend les indicateurs plus fiables. C’est ce qui permet d’avoir un analyse dynamique relative, une chose qu’aucun indicateur classique ne permet en l’état.
Et c’est extrêmement rare dans les stratégies publiques.
🔧 Pour que cette stratégie fonctionne, il est indispensable d’installer la librairie externe tvdatafeed. Voici comment faire :
pip install requests websockets
git clone https://github.com/rongardF/tvdatafeed
cd tvdatafeed
pip install .Sans cette dépendance, les données du TOTAL3 ne seront pas chargées et la stratégie ne pourra pas s’exécuter correctement.
✨ Logique de la stratégie KAC-Index
🎯 Conditions d’entrée
Un trade est ouvert lorsque tous les éléments suivants sont réunis :
📈 ATR > 1.5 et en augmentation → le marché commence à bouger fortement.
🧭 CCI < 0 → le prix est relativement bas, dans un creux.
Ces trois signaux combinés signifient que l’actif commence à sortir d’un creux avec une dynamique montante supérieure au reste du marché.
🏁 Conditions de sortie
On sort lorsque tous ces éléments sont détectés :
📉 ATR < -2 et en baisse → volatilité en chute brutale.
🚩 CCI > 200 et en hausse → zone de surachat avancée.
Là encore, tous les indicateurs sont calculés sur les prix indexés sur le TOTAL3.
⏳ Take profit dynamique & sécurité
La stratégie utilise un système de ROI temporel par palier (minimal_roi = {...}) :
🔺 À +143%, la position se ferme immédiatement.
🕓 À +1.3% après 4 jours, puis +0.31% après 5.5 jours.
🛡️ À -28% après 7 jours → sortie tardive si rien ne s'est déclenché avant.
Un stoploss large (-90%) est défini, mais très rarement atteint.
💰 Gestion du capital : stake-amount fixe
La stratégie utilise en backtest un stake_amount = 100 (défini dans customstakeamount(...)).
En live, il est bien entendu possible d’utiliser un montant différent. Par exemple sur Hyperliquid, le minimum requis est stake_amount = 15 USDC.
Pourquoi éviter stake_amount = "unlimited" ?
🎯 Cela semble puissant, mais c’est dangereux. Voici pourquoi :
Avec stake_amount = "unlimited", le bot utilise l’intégralité de votre capital disponible pour chaque trade. Cela revient à accroître vos positions après chaque gain, jusqu’à ce qu’une seule perte efface vos précédents bénéfices. En pratique :
Un gros gain augmente le capital.
La position suivante sera plus grande.
Une perte juste après fait descendre le capital en dessous de son niveau initial.
⚠️ Cela crée une fragilité extrême à la première mauvaise série. Et même si cela passe très bien en backtest, en live vous êtes rarement dans une "période optimale".
Avec un stake_amount fixe, vos gains sont plus lents… mais plus robustes et stables. Vous construisez votre capital sans risquer de tout reperdre sur un retournement de marché.
De plus, cette stratégie utilise max-open-trades = -1 : cela permet de diversifier les positions et de capter toutes les opportunités… mais cela n’est viable que si le montant par position est fixe et bien calibré.
En pratique, on a observé jusqu’à 78 positions ouvertes en parallèle, simplement car le fichier de backtest contient 78 paires. Cela veut dire que par moments, toutes les positions disponibles sont effectivement prises.
Ce choix se combine parfaitement avec l’indexation TOTAL3 :
L’objectif est de détecter les cryptos qui ne suivent pas le marché, donc même en cas de chute globale, certaines positions peuvent rester neutres ou haussières.
Cela crée une forme d’isolation contextuelle contre les crashes globaux (même si ce n’est pas infaillible).
💡 Attention néanmoins : un actif "isolé" peut très vite se reconnecter au marché, surtout lors de crashs majeurs où tout l’écosystème vacille. On ne sort pas totalement du risque… mais on fait au mieux pour s’en protéger. 😉
⚙️ Version v1 et v2 : comprendre les différences
Cette stratégie est partagée dans sa version 1, telle qu’elle a été trouvée initialement par backtest. Elle n'a subit aucun ajustement, c'est à dire que vous devez ajuster certains éléments pour l'optimiser un minimum, tester d'autres valeurs que celle déjà en place, etc.
🔹 Version 1 (non optimisée) :
Paramètres bruts, tels que trouvés.
Très peu de risque de sur-optimisation.
Résultats plus conservateurs en backtest… mais souvent meilleurs en live.
🔸 Version 2 (optimisée) :
Paramètres ajustés via une optimisation (tous les détails de l'optimisation pour cette stratégie sont disponibles ici : Comment optimiser une stratégie ? (Guide complet + Vidéo) (Exemple avec KAC-Index v1))
Résultats explosifs en backtest.
Risque de sur-optimisation plus élevé → résultats live à surveiller.
En clair : la v1 est plus fiable, la v2 est plus agressive.
📊 Résultats du backtest (2021-2025)
Rappel : un backtest ne vaut rien, ce qui vaut quelque chose c'est le live !
Testez cette stratégie patiemment hors backtest avant d'y allouer du capital réel important.
Moi même, je suis incapable de vous dire si ces résultats se reproduiront dans le futures.

Exchange : Binance Futures (1h)
Stake : 1000 USDT
Pairs : 78 top cryptos
📈 5248 trades exécutés (quantité de trade assez élévé pour assurer la fiabilité de la stratégie)
💰 +9728 USDT de gains nets avec une base de 1000 usdt (x10)
📈 +972% au total (CAGR 71.02%)
🧠 Sharpe : 5.95 | Calmar : 36.74 | SQN : 6.94
🎯 Winrate : 48.2%
📉 Max Drawdown : 31.35% (assez élévé)
⏱️ Durée moyenne par trade : 8 jours (donc la fin de période de minimal_roi)
🎯 Positions simultanté : 78 (c'est autant que le nombre de crypto-monnaies du backtest, donc il y a eu un moment où toutes les positions étaient ouvertes)
Une stratégie patiente, sélective, et consciente du contexte marché.
🧪 Pour tester : commande de backtest
freqtrade download-data --config backtest_configs/futures_binance_fix.json
--timerange 20210101-
--timeframe 1h
freqtrade backtesting --strategy kac_index_v1 \
--config backtest_configs/futures_binance_fix.json \
--timerange 20210101- \
--timeframe 1h \
--max-open-trades -1 \
--cache none \
--dry-run-wallet 1000
📂 Fichiers à récupérer
Config API Hyperliquid :
freqtrade/live_configs/_hyperliquid_freqtrade_access.json: github (pensez à indiquer vos clés API hyperliquid dans cette config si vous n'avez pas déjà le fichier)
Config par défaut USDC Hyperliquid :
freqtrade/live_configs/_default_spot_usdc.json: github
Stratégie :
kac_index_v1.py: githubConfig Futures :
futures_binance_fix.json: githubConfig Live Hyperliquid :
hyperliquid_kac_index_v1.json: github
📌 Une stratégie avancée, solide, et que vous ne verrez nulle part ailleurs.
👉 https://coff.ee/freqtrade_france
Bon test à tous, et n'oubliez pas :
surperformer le marché commence par mieux l’observer. 🚀
