|
@@ -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)}
|