Remove get_funding_fee error handling - it's no longer raising this error.

This commit is contained in:
Matthias
2023-10-12 06:27:35 +02:00
parent 7344f20803
commit 97e9d2dc42
2 changed files with 20 additions and 34 deletions
+20 -30
View File
@@ -316,16 +316,13 @@ class FreqtradeBot(LoggingMixin):
if self.trading_mode == TradingMode.FUTURES: if self.trading_mode == TradingMode.FUTURES:
trades: List[Trade] = Trade.get_open_trades() trades: List[Trade] = Trade.get_open_trades()
for trade in trades: for trade in trades:
try: trade.set_funding_fees(
trade.set_funding_fees( self.exchange.get_funding_fees(
self.exchange.get_funding_fees( pair=trade.pair,
pair=trade.pair, amount=trade.amount,
amount=trade.amount, is_short=trade.is_short,
is_short=trade.is_short, open_date=trade.date_last_filled_utc)
open_date=trade.date_last_filled_utc) )
)
except ExchangeError:
logger.warning(f"Could not update funding fees for open trade {trade}.")
def startup_backpopulate_precision(self) -> None: def startup_backpopulate_precision(self) -> None:
@@ -835,16 +832,12 @@ class FreqtradeBot(LoggingMixin):
base_currency = self.exchange.get_pair_base_currency(pair) base_currency = self.exchange.get_pair_base_currency(pair)
open_date = datetime.now(timezone.utc) open_date = datetime.now(timezone.utc)
funding_fees = 0.0 funding_fees = self.exchange.get_funding_fees(
try: pair=pair,
funding_fees = self.exchange.get_funding_fees( amount=amount + trade.amount if trade else amount,
pair=pair, is_short=is_short,
amount=amount + trade.amount if trade else amount, open_date=trade.date_last_filled_utc if trade else open_date
is_short=is_short, )
open_date=trade.date_last_filled_utc if trade else open_date
)
except ExchangeError:
logger.warning("Could not find funding fee.")
# This is a new trade # This is a new trade
if trade is None: if trade is None:
@@ -1700,16 +1693,13 @@ class FreqtradeBot(LoggingMixin):
:param exit_check: CheckTuple with signal and reason :param exit_check: CheckTuple with signal and reason
:return: True if it succeeds False :return: True if it succeeds False
""" """
try: trade.set_funding_fees(
trade.set_funding_fees( self.exchange.get_funding_fees(
self.exchange.get_funding_fees( pair=trade.pair,
pair=trade.pair, amount=trade.amount,
amount=trade.amount, is_short=trade.is_short,
is_short=trade.is_short, open_date=trade.date_last_filled_utc)
open_date=trade.date_last_filled_utc) )
)
except ExchangeError:
logger.warning("Could not update funding fee.")
exit_type = 'exit' exit_type = 'exit'
exit_reason = exit_tag or exit_check.exit_reason exit_reason = exit_tag or exit_check.exit_reason
-4
View File
@@ -559,7 +559,6 @@ def test_create_trades_preopen(default_conf_usdt, ticker_usdt, fee, mocker,
fetch_ticker=ticker_usdt, fetch_ticker=ticker_usdt,
create_order=MagicMock(return_value=limit_buy_order_usdt_open), create_order=MagicMock(return_value=limit_buy_order_usdt_open),
get_fee=fee, get_fee=fee,
get_funding_fees=MagicMock(side_effect=ExchangeError()),
) )
freqtrade = FreqtradeBot(default_conf_usdt) freqtrade = FreqtradeBot(default_conf_usdt)
patch_get_signal(freqtrade) patch_get_signal(freqtrade)
@@ -567,7 +566,6 @@ def test_create_trades_preopen(default_conf_usdt, ticker_usdt, fee, mocker,
# Create 2 existing trades # Create 2 existing trades
freqtrade.execute_entry('ETH/USDT', default_conf_usdt['stake_amount']) freqtrade.execute_entry('ETH/USDT', default_conf_usdt['stake_amount'])
freqtrade.execute_entry('NEO/BTC', default_conf_usdt['stake_amount']) freqtrade.execute_entry('NEO/BTC', default_conf_usdt['stake_amount'])
assert log_has("Could not find funding fee.", caplog)
assert len(Trade.get_open_trades()) == 2 assert len(Trade.get_open_trades()) == 2
# Change order_id for new orders # Change order_id for new orders
@@ -4208,7 +4206,6 @@ def test_execute_trade_exit_market_order(
fetch_ticker=ticker_usdt, fetch_ticker=ticker_usdt,
get_fee=fee, get_fee=fee,
_dry_is_price_crossed=MagicMock(return_value=True), _dry_is_price_crossed=MagicMock(return_value=True),
get_funding_fees=MagicMock(side_effect=ExchangeError()),
) )
patch_whitelist(mocker, default_conf_usdt) patch_whitelist(mocker, default_conf_usdt)
freqtrade = FreqtradeBot(default_conf_usdt) freqtrade = FreqtradeBot(default_conf_usdt)
@@ -4234,7 +4231,6 @@ def test_execute_trade_exit_market_order(
limit=ticker_usdt_sell_up()['ask' if is_short else 'bid'], limit=ticker_usdt_sell_up()['ask' if is_short else 'bid'],
exit_check=ExitCheckTuple(exit_type=ExitType.ROI) exit_check=ExitCheckTuple(exit_type=ExitType.ROI)
) )
assert log_has("Could not update funding fee.", caplog)
assert not trade.is_open assert not trade.is_open
assert pytest.approx(trade.close_profit) == profit_ratio assert pytest.approx(trade.close_profit) == profit_ratio