mirror of
https://github.com/freqtrade/freqtrade.git
synced 2025-12-17 13:21:15 +00:00
refactor: conversation rate retrieval to exchange class
for better reusability across the bot.
This commit is contained in:
@@ -687,25 +687,12 @@ class RPC:
|
||||
est_bot_stake = amount
|
||||
else:
|
||||
try:
|
||||
tickers: Tickers = self._freqtrade.exchange.get_tickers(cached=True)
|
||||
pair = self._freqtrade.exchange.get_valid_pair_combination(coin, stake_currency)
|
||||
ticker: Ticker | None = tickers.get(pair, None)
|
||||
if not ticker:
|
||||
tickers_spot: Tickers = self._freqtrade.exchange.get_tickers(
|
||||
cached=True,
|
||||
market_type=TradingMode.SPOT
|
||||
if self._config.get("trading_mode", TradingMode.SPOT) != TradingMode.SPOT
|
||||
else TradingMode.FUTURES,
|
||||
)
|
||||
ticker = tickers_spot.get(pair, None)
|
||||
|
||||
if ticker:
|
||||
rate: float | None = ticker.get("last", None)
|
||||
if rate:
|
||||
if pair.startswith(stake_currency) and not pair.endswith(stake_currency):
|
||||
rate = 1.0 / rate
|
||||
est_stake = rate * balance.total
|
||||
est_bot_stake = rate * amount
|
||||
rate: float | None = self._freqtrade.exchange.get_conversion_rate(
|
||||
coin, stake_currency
|
||||
)
|
||||
if rate:
|
||||
est_stake = rate * balance.total
|
||||
est_bot_stake = rate * amount
|
||||
|
||||
return est_stake, est_bot_stake
|
||||
except (ExchangeError, PricingError) as e:
|
||||
|
||||
Reference in New Issue
Block a user