How Does Dynamic Trade Sizing Work?
Dynamic Trade Sizing automatically adjusts trade size based on your available account balance.
It enables:
- Aggressive compounding strategies
- Automatic scaling as balance grows
- Automatic risk reduction during drawdowns
- Fully automated capital growth management
This feature is primarily designed for live trading environments.
1️⃣ Core Setting – CalculateAmountDynamically
Located in trading.yaml:
CalculateAmountDynamically: false
When set to true:
- The bot ignores static
InitialTradeAmount - Trade size is calculated dynamically from available balance
- The amount updates before each new trade
🔎 Calculation Formula
When enabled:
Trade Margin = Available Balance × DynamicAmountPercentage
Example configuration:
CalculateAmountDynamically: true
DynamicAmountPercentage: 5
If:
- Available balance = 1,000 USDT
- DynamicAmountPercentage = 5%
1,000 × 5% = 50 USDT
With 10x leverage:
50 × 10 = 500 USDT exposure
📈 Balance Adjustment Scenarios
Scenario A – Balance Growth
If balance grows from 1,000 → 2,000 USDT:
2,000 × 5% = 100 USDT margin
Trade size automatically doubles.
Scenario B – Drawdown
If balance drops to 600 USDT:
600 × 5% = 30 USDT margin
Trade size automatically reduces.
Result
- Profits compound naturally
- Risk scales proportionally
- No manual resizing required
2️⃣ TradeAmountPer – Progressive Placing Strategy
TradeAmountPer: 0
This setting enables progressive scaling of entries relative to total balance.
It is useful for strategies that:
- Enter multiple positions progressively
- Scale into trends
- Increase exposure gradually
- Distribute capital intelligently
If set greater than 0:
TradeAmountPer: 10
The bot will:
- Allocate 10% of total balance progressively
- Scale entries accordingly
- Adjust each placement relative to total balance
This works well with:
- Trend-following systems
- Breakout strategies
- Capital growth automation
🧠 Static vs Dynamic Trade Sizing
| Feature | Static Mode | Dynamic Mode |
|---|---|---|
| Based on fixed USDT value | ✅ | ❌ |
| Based on % of balance | ❌ | ✅ |
| Auto scales with growth | ❌ | ✅ |
| Auto reduces in drawdown | ❌ | ✅ |
| Best for compounding | ❌ | ✅ |
🎯 When Should You Use Dynamic Trade Sizing?
✅ Recommended When:
- You want automated compounding
- You prefer percentage-based risk control
- You run long-term automation
- You manage multiple bot instances
- You want capital-efficient scaling
⚠️ Use Carefully When:
- Using high leverage
- Running Martingale sequences
- Using aggressive DCA multipliers
- Trading highly volatile assets
Because exposure scales automatically, combining with leverage can amplify risk significantly.
🔁 Interaction With Other Systems
If Money Management Is Enabled
The configured sequence multiplies the dynamically calculated base amount.
If DCA Auto Calculation Is Enabled
DCA may override dynamic calculation depending on priority configuration.
Leverage
Leverage always multiplies the final margin amount.
🔐 Risk Insight
Dynamic trade sizing is powerful because:
- It compounds profits automatically
- It reduces position size during losses
However, when combined with:
- High leverage
- Aggressive scaling
- Large balance percentage
- Progressive placing strategies
It can significantly increase liquidation risk.
Always backtest and simulate before live deployment.
🚀 Example Advanced Setup
CalculateAmountDynamically: true
DynamicAmountPercentage: 4
TradeAmountPer: 10
Leverage: 10
Behavior:
- Each trade uses 4% of available balance
- Entries scale progressively at 10%
- Exposure compounds automatically
- Risk adjusts dynamically with balance
📌 Final Summary
Dynamic Trade Sizing transforms the bot into a balance-aware adaptive trading engine.
It allows:
- Automatic growth of position size
- Automatic contraction during drawdowns
- Removal of manual resizing
- Capital-efficient strategy automation