MagicTradeBot 5.2+ introduce un Motore di Dimensionamento delle Posizioni completamente ridisegnato, separando l’allocazione del capitale dalla logica di trading e DCA per una maggiore chiarezza, flessibilità e controllo del rischio.
Questo aggiornamento centralizza tutti i calcoli della dimensione della posizione in:
position_sizing.yaml
🚀 Cosa è cambiato nella versione 5.2+
✅ 1. Nuovo file di configurazione dedicato
Tutta la logica relativa all’importo del trade e all’esposizione è stata spostata in:
position_sizing.yaml
Questo garantisce:
- Architettura più pulita
- Nessuna sovrapposizione tra logica DCA e logica del capitale
- Maggiore accuratezza delle simulazioni
- Supporto futuro per modelli di dimensionamento avanzati (Kelly, rischio di rovina, basato sulla volatilità, ecc.)
✅ 2. Vecchie impostazioni sostituite
Le seguenti impostazioni sono ora deprecate:
| Vecchia impostazione | Stato |
|---|---|
CalculateAmountDynamically |
❌ Rimossa |
TradeAmountPer |
❌ Rimossa |
Sono state completamente sostituite da:
auto_calculate_initial_amount: true
✅ 3. initial_trade_amount spostato
In precedenza si trovava in trading.yaml, ora è stato spostato in:
position_sizing.yaml
Questo assicura che tutta la logica di dimensionamento delle posizioni sia concentrata in un unico luogo.
📂 Nuova struttura di configurazione
# --------------------------------------------------------------------------
# Importo del trade & Allocazione del capitale
# --------------------------------------------------------------------------
initial_trade_amount: 10.0
# --------------------------------------------------------------------------
# Calcolo della dimensione della posizione
# --------------------------------------------------------------------------
auto_calculate_initial_amount: true
balance: 5000
total_percent_investment_per_trade: 2.0
# --------------------------------------------------------------------------
# Funzionalità avanzate di dimensionamento
# --------------------------------------------------------------------------
mode: percent
kelly_fraction: 0.5
target_risk_of_ruin_percent: 1.0
max_drawdown_threshold: 40.0
⚙️ Come funziona il dimensionamento delle posizioni (Flusso logico)
1️⃣ Modalità Fissa
Se:
auto_calculate_initial_amount: false
Allora il bot:
- Utilizza
initial_trade_amount - Non esegue calcoli di esposizione
- Salta i calcoli DCA
- Salta la logica percentuale
✔ Ideale per trader con lotti fissi
✔ Semplice e prevedibile
2️⃣ Modalità Calcolo Automatico
Se:
auto_calculate_initial_amount: true
Allora:
- L’importo iniziale viene calcolato dinamicamente dal saldo
- L’esposizione totale (Iniziale + Tutti i DCA + Grid DCA) è limitata da:
total_percent_investment_per_trade
3️⃣ Modalità Avanzate
Criterio di Kelly
- Utilizza il tasso di vincita storico e il PnL medio per trade
- È possibile applicare una frazione di Kelly tramite kelly_fraction
- Riduce la volatilità mantenendo il potenziale di crescita
Rischio di Rovina
- Calcola la dimensione massima della posizione per mantenere una probabilità di rovina del conto accettabile
- Controllato tramite target_risk_of_ruin_percent
- Impone max_drawdown_threshold per prevenire perdite catastrofiche
- Ideale per la gestione del rischio a lungo termine
🧮 Regole di calcolo dell’esposizione
Caso A — DCA disabilitato + Grid disabilitato
Se entrambi sono disabilitati, il bot utilizza semplicemente:
10% del saldo
(Nessun calcolo geometrico applicato.)
Caso B — DCA abilitato
Il sistema calcola:
- Serie geometrica per tutti gli ordini DCA
- Esposizione basata sul moltiplicatore
- Unità totali
Il capitale viene quindi distribuito proporzionalmente.
Caso C — Grid DCA abilitato
L’esposizione Grid viene aggiunta come unità aggiuntive:
grid_orders × order_percent
Queste unità sono incluse nel calcolo dell’esposizione totale.
Caso D — DCA + Grid combinati
Entrambi i modelli di esposizione vengono uniti in un unico limite totale:
Esposizione Totale ≤ total_percent_investment_per_trade % del saldo
L’importo iniziale deriva da:
target_total_investment / total_units
💰 Comportamento del saldo
Modalità Live
Se:
balance: 0
Il bot utilizza il saldo reale dell’exchange.
Modalità Demo
Se:
balance: 5000
Il bot utilizza:
balance ± total_pnl
Questo garantisce una simulazione accurata del compounding.
🎯 Spiegazione di total_percent_investment_per_trade
Definisce la massima esposizione di capitale per trade, includendo:
- Entrata iniziale
- Tutti gli ordini DCA
- Tutti gli ordini Grid DCA
Esempi
| Valore | Comportamento |
|---|---|
| 2.0 | Conservativo |
| 5.0 | Bilanciato |
| 10.0 | Aggressivo |
🔥 Scenario di esempio
Saldo = 5000
total_percent_investment_per_trade = 2%
Esposizione massima consentita:
5000 × 2% = 100 USDT
Il bot calcolerà la dimensione dell’ordine iniziale in modo tale che:
Iniziale + Tutti i DCA + Ordini Grid = 100 USDT
Senza mai superare questo limite.
🏗️ Perché questa architettura è migliore
- ✔ Separazione più chiara delle responsabilità
- ✔ Nessuna logica di capitale nel modulo DCA
- ✔ Controllo del rischio deterministico
- ✔ Compatibile con ottimizzazione AI
- ✔ Simulazione identica al comportamento live
- ✔ Pronta per il futuro con Kelly / Rischio di Rovina
⚠️ Checklist di migrazione (da 5.1.x)
- Rimuovere:
CalculateAmountDynamicallyTradeAmountPer
- Spostare:
initial_trade_amount→position_sizing.yaml
- Spostare:
balanceauto_calculate_initial_amounttotal_percent_investment_per_trademodekelly_fractiontarget_risk_of_ruin_percentmax_drawdown_threshold
- Verificare:
- Le impostazioni DCA rimangono in
dca.yaml - L’esecuzione dei trade rimane in
trading.yaml
- Le impostazioni DCA rimangono in
📌 Profili di configurazione consigliati
🛡 Conservativo
auto_calculate_initial_amount: true
total_percent_investment_per_trade: 2.0
mode: percent
⚖ Bilanciato
auto_calculate_initial_amount: true
total_percent_investment_per_trade: 5.0
mode: percent
🚀 Aggressivo
auto_calculate_initial_amount: true
total_percent_investment_per_trade: 10.0
mode: percent
🧠 Per utenti avanzati
La versione 5.2+ pone le basi per:
- Dimensionamento con Criterio di Kelly
- Target di Rischio di Rovina
- Dimensionamento basato sulla volatilità
- Bucket di capitale a livello di strategia
- Esposizione ottimizzata tramite IA
Tutti i modelli futuri saranno integrati in position_sizing.yaml.
✅ Riassunto
MagicTradeBot 5.2+ introduce:
- Un Motore di Dimensionamento delle Posizioni dedicato
- Rimozione delle vecchie opzioni di dimensionamento dinamico
- Controllo centralizzato del capitale
- Limite deterministico sull’esposizione totale
- Modalità avanzate: Kelly & Rischio di Rovina
- Disattivazione automatica del modulo di Money Management in modalità auto
Questo aggiornamento migliora significativamente il controllo del rischio, la chiarezza e la scalabilità a lungo termine.