Browse Source

Improve leverage setting in TradingEngine with error handling

- Added a check to ensure the trading client is initialized before setting leverage, enhancing robustness.
- Updated logging messages for clarity and consistency in responses.
- Refactored the leverage setting process to directly utilize the client's method, streamlining the code.
Carles Sentis 2 days ago
parent
commit
1c86b90d00
2 changed files with 9 additions and 10 deletions
  1. 8 9
      src/trading/trading_engine.py
  2. 1 1
      trading_bot.py

+ 8 - 9
src/trading/trading_engine.py

@@ -1209,19 +1209,18 @@ class TradingEngine:
 
     def set_leverage(self, leverage: int, symbol: str = None, params={}):
         """Sets leverage for a symbol."""
+        if not self.client:
+            logger.error("Trading client not initialized, cannot set leverage.")
+            return {"success": False, "error": "Trading client not initialized."}
+        
         try:
-            if not symbol:
-                symbol = self.default_symbol
-            
             logger.info(f"Setting leverage for {symbol} to {leverage}x")
             
-            # The symbol format for CCXT might need to be 'ETH/USDC:USDC'
-            # Let's ensure it is correctly formatted
-            market = self.exchange.market(symbol)
+            # The client's set_leverage method handles the interaction
+            response = self.client.set_leverage(leverage, symbol, params=params)
             
-            response = self.exchange.set_leverage(leverage, market['symbol'], params)
-            logger.info(f"✅ Successfully set leverage for {symbol} to {leverage}x. Response: {response}")
-            return {"success": True, "response": response}
+            logger.info(f"Successfully set leverage for {symbol} to {leverage}x. Response: {response}")
+            return {"success": True, "data": response}
         except Exception as e:
             logger.error(f"❌ Error setting leverage for {symbol}: {e}", exc_info=True)
             return {"success": False, "error": str(e)} 

+ 1 - 1
trading_bot.py

@@ -14,7 +14,7 @@ from datetime import datetime
 from pathlib import Path
 
 # Bot version
-BOT_VERSION = "2.4.262"
+BOT_VERSION = "2.4.263"
 
 # Add src directory to Python path
 sys.path.insert(0, str(Path(__file__).parent / "src"))