MagicTradeBot 5.2+ introduit un moteur de dimensionnement des positions entièrement repensé, séparant l’allocation de capital de la logique de trading et de DCA pour une meilleure clarté, flexibilité et maîtrise des risques.
Cette mise à jour centralise tous les calculs de taille de position dans :
position_sizing.yaml
🚀 Ce qui a changé dans la version 5.2+
✅ 1. Nouveau fichier de configuration dédié
Toute la logique de montant de trade et d’exposition a été déplacée vers :
position_sizing.yaml
Cela garantit :
- Une architecture plus propre
- Aucune superposition entre la logique DCA et capital
- Une meilleure précision des simulations
- Un support futur pour des modèles de dimensionnement avancés (Kelly, risque de ruine, basé sur la volatilité, etc.)
✅ 2. Anciens paramètres remplacés
Les paramètres suivants sont désormais dépréciés :
| Ancien paramètre | Statut |
|---|---|
CalculateAmountDynamically |
❌ Supprimé |
TradeAmountPer |
❌ Supprimé |
Ils sont désormais entièrement remplacés par :
auto_calculate_initial_amount: true
✅ 3. initial_trade_amount déplacé
Auparavant situé dans trading.yaml, il a maintenant été déplacé vers :
position_sizing.yaml
Cela garantit que toute la logique de dimensionnement des positions est regroupée au même endroit.
📂 Nouvelle structure de configuration
# --------------------------------------------------------------------------
# Montant du trade & Allocation de capital
# --------------------------------------------------------------------------
initial_trade_amount: 10.0
# --------------------------------------------------------------------------
# Calcul de la taille de position
# --------------------------------------------------------------------------
auto_calculate_initial_amount: true
balance: 5000
total_percent_investment_per_trade: 2.0
# --------------------------------------------------------------------------
# Fonctionnalités avancées de dimensionnement
# --------------------------------------------------------------------------
mode: percent
kelly_fraction: 0.5
target_risk_of_ruin_percent: 1.0
max_drawdown_threshold: 40.0
⚙️ Fonctionnement du dimensionnement des positions (Flux logique)
1️⃣ Mode Fixe
Si :
auto_calculate_initial_amount: false
Alors le bot :
- Utilise
initial_trade_amount - N’effectue aucun calcul d’exposition
- Ignore la logique en pourcentage
✔ Idéal pour les traders en lots fixes
✔ Simple & prévisible
2️⃣ Mode Calcul Automatique
Si :
auto_calculate_initial_amount: true
Alors :
- Le montant initial est calculé dynamiquement à partir du solde
- L’exposition totale (Initial + Tous les DCA + Grid DCA) est plafonnée par :
total_percent_investment_per_trade
3️⃣ Modes Avancés
Criterion de Kelly
- Utilise le taux de réussite historique et le PnL moyen par trade
- Une fraction de Kelly peut être appliquée via kelly_fraction
- Réduit la volatilité tout en maintenant le potentiel de croissance
Risque de Ruine
- Calcule la taille maximale de position pour maintenir une probabilité sûre de ruine du compte
- Contrôlé par target_risk_of_ruin_percent
- Applique max_drawdown_threshold pour éviter les pertes catastrophiques
- Idéal pour la gestion des risques à long terme
🧮 Règles de calcul d’exposition
Cas A — DCA Désactivé + Grid Désactivé
Si les deux sont désactivés, le bot utilise simplement :
10 % du solde
(Aucun calcul géométrique appliqué.)
Cas B — DCA Activé
Le système calcule :
- Série géométrique pour tous les ordres DCA
- Exposition basée sur multiplicateur
- Unités totales
Le capital est ensuite réparti proportionnellement.
Cas C — Grid DCA Activé
L’exposition Grid est ajoutée sous forme d’unités supplémentaires :
grid_orders × order_percent
Ces unités sont incluses dans le calcul d’exposition totale.
Cas D — DCA + Grid Combinés
Les deux modèles d’exposition sont fusionnés dans un seul plafond d’exposition totale :
Exposition Totale ≤ total_percent_investment_per_trade % du solde
Le montant initial est dérivé de :
target_total_investment / total_units
💰 Comportement du solde
Mode Live
Si :
balance: 0
Le bot utilise le solde réel de l’exchange.
Mode Démo
Si :
balance: 5000
Le bot utilise :
balance ± total_pnl
Cela permet une simulation précise du compounding.
🎯 Explication de total_percent_investment_per_trade
Cela définit l’exposition maximale en capital par trade, incluant :
- Entrée initiale
- Tous les ordres DCA
- Tous les ordres Grid DCA
Exemples
| Valeur | Comportement |
|---|---|
| 2.0 | Conservateur |
| 5.0 | Équilibré |
| 10.0 | Agressif |
🔥 Exemple de scénario
Solde = 5000
total_percent_investment_per_trade = 2 %
Exposition maximale autorisée :
5000 × 2 % = 100 USDT
Le bot calculera la taille de l’ordre initial de telle sorte que :
Initial + Tous les DCA + Ordres Grid = 100 USDT
Sans jamais dépasser cette limite.
🏗️ Pourquoi cette architecture est meilleure
- ✔ Séparation plus claire des responsabilités
- ✔ Aucune logique de capital dans le module DCA
- ✔ Contrôle déterministe des risques
- ✔ Compatible avec l’optimisation par IA
- ✔ Simulation identique au comportement live
- ✔ Prêt pour l’avenir avec Kelly / Risk-of-Ruin
⚠️ Checklist de migration (depuis 5.1.x)
- Supprimer :
CalculateAmountDynamicallyTradeAmountPer
- Déplacer :
initial_trade_amount→position_sizing.yaml
- Déplacer :
balanceauto_calculate_initial_amounttotal_percent_investment_per_trademodekelly_fractiontarget_risk_of_ruin_percentmax_drawdown_threshold
- Vérifier :
- Les paramètres DCA restent dans
dca.yaml - L’exécution des trades reste dans
trading.yaml
- Les paramètres DCA restent dans
📌 Profils de configuration recommandés
🛡 Conservateur
auto_calculate_initial_amount: true
total_percent_investment_per_trade: 2.0
mode: percent
⚖ Équilibré
auto_calculate_initial_amount: true
total_percent_investment_per_trade: 5.0
mode: percent
🚀 Agressif
auto_calculate_initial_amount: true
total_percent_investment_per_trade: 10.0
mode: percent
🧠 Pour les utilisateurs avancés
La version 5.2+ pose les bases pour :
- Dimensionnement par Critère de Kelly
- Ciblage du risque de ruine
- Dimensionnement basé sur la volatilité
- Compartiments de capital par stratégie
- Exposition optimisée par IA
Tous les futurs modèles s’intégreront dans position_sizing.yaml.
✅ Résumé
MagicTradeBot 5.2+ introduit :
- Un moteur de dimensionnement des positions dédié
- La suppression des anciennes options de dimensionnement dynamique
- Un contrôle centralisé du capital
- Un plafond déterministe d’exposition totale
- Des modes avancés : Kelly & Risk-of-Ruin
- Désactivation automatique du module de gestion d’argent en mode auto
Cette mise à jour améliore considérablement le contrôle des risques, la clarté et la scalabilité à long terme.