From c4ecb29d4cb249c739959880ccf99594afdedcc5 Mon Sep 17 00:00:00 2001 From: Simon Moisy Date: Thu, 15 Jan 2026 10:40:43 +0800 Subject: [PATCH] Update trading configuration to allow full fund utilization and adjust base size calculation in strategy - Changed `max_position_usdt` to -1.0 to indicate that all available funds should be used if the value is less than or equal to zero. - Modified the base size calculation in `LiveRegimeStrategy` to accommodate the new logic for `max_position_usdt`, ensuring it uses all available funds when applicable. --- live_trading/config.py | 2 +- live_trading/live_regime_strategy.py | 7 +++++-- live_trading/main.py | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/live_trading/config.py b/live_trading/config.py index 22fbe61..39172cd 100644 --- a/live_trading/config.py +++ b/live_trading/config.py @@ -65,7 +65,7 @@ class TradingConfig: candles_to_fetch: int = 500 # Enough for feature calculation # Position sizing - max_position_usdt: float = 1000.0 # Max position size in USDT + max_position_usdt: float = -1.0 # Max position size in USDT. If <= 0, use all available funds min_position_usdt: float = 10.0 # Min position size in USDT leverage: int = 1 # Leverage (1x = no leverage) margin_mode: str = "cross" # "cross" or "isolated" diff --git a/live_trading/live_regime_strategy.py b/live_trading/live_regime_strategy.py index 4ebc4ac..b33c31a 100644 --- a/live_trading/live_regime_strategy.py +++ b/live_trading/live_regime_strategy.py @@ -241,8 +241,11 @@ class LiveRegimeStrategy: """ prob = signal.get('probability', 0.5) - # Base size is max_position_usdt - base_size = min(available_usdt, self.config.max_position_usdt) + # Base size: if max_position_usdt <= 0, use all available funds + if self.config.max_position_usdt <= 0: + base_size = available_usdt + else: + base_size = min(available_usdt, self.config.max_position_usdt) # Scale by probability (1.0x at 0.5 prob, up to 1.6x at 0.8 prob) scale = 1.0 + (prob - 0.5) * 2.0 diff --git a/live_trading/main.py b/live_trading/main.py index 16d8514..4df79f6 100644 --- a/live_trading/main.py +++ b/live_trading/main.py @@ -95,7 +95,7 @@ class LiveTradingBot: print(f" Trading Pair: {self.trading_config.eth_symbol}") print(f" Context Pair: {self.trading_config.btc_symbol}") print(f" Timeframe: {self.trading_config.timeframe}") - print(f" Max Position: ${self.trading_config.max_position_usdt}") + print(f" Max Position: ${self.trading_config.max_position_usdt if self.trading_config.max_position_usdt > 0 else 'All available'}") print(f" Leverage: {self.trading_config.leverage}x") print(f" Stop Loss: {self.trading_config.stop_loss_pct * 100:.1f}%") print(f" Take Profit: {self.trading_config.take_profit_pct * 100:.1f}%")