Add get_open_trade_count() to simplify getting open trade count.
This commit is contained in:
parent
085f81ec9e
commit
87a3115073
@ -271,7 +271,7 @@ class FreqtradeBot(LoggingMixin):
|
||||
Return the number of free open trades slots or 0 if
|
||||
max number of open trades reached
|
||||
"""
|
||||
open_trades = len(Trade.get_open_trades())
|
||||
open_trades = Trade.get_open_trade_count()
|
||||
return max(0, self.config['max_open_trades'] - open_trades)
|
||||
|
||||
def update_funding_fees(self):
|
||||
|
@ -1044,6 +1044,16 @@ class LocalTrade():
|
||||
"""
|
||||
return Trade.get_trades_proxy(is_open=True)
|
||||
|
||||
@staticmethod
|
||||
def get_open_trade_count() -> int:
|
||||
"""
|
||||
get open trade count
|
||||
"""
|
||||
if Trade.use_db:
|
||||
return Trade.query.filter(Trade.is_open.is_(True)).count()
|
||||
else:
|
||||
return len(LocalTrade.trades_open)
|
||||
|
||||
@staticmethod
|
||||
def stoploss_reinitialization(desired_stoploss):
|
||||
"""
|
||||
|
@ -473,8 +473,6 @@ def test_create_trade_no_signal(default_conf_usdt, fee, mocker) -> None:
|
||||
freqtrade = FreqtradeBot(default_conf_usdt)
|
||||
patch_get_signal(freqtrade, enter_long=False, exit_long=False)
|
||||
|
||||
Trade.query = MagicMock()
|
||||
Trade.query.filter = MagicMock()
|
||||
assert not freqtrade.create_trade('ETH/USDT')
|
||||
|
||||
|
||||
|
@ -1689,6 +1689,7 @@ def test_get_open(fee, is_short, use_db):
|
||||
|
||||
create_mock_trades(fee, is_short, use_db)
|
||||
assert len(Trade.get_open_trades()) == 4
|
||||
assert Trade.get_open_trade_count() == 4
|
||||
|
||||
Trade.use_db = True
|
||||
|
||||
@ -1701,6 +1702,7 @@ def test_get_open_lev(fee, use_db):
|
||||
|
||||
create_mock_trades_with_leverage(fee, use_db)
|
||||
assert len(Trade.get_open_trades()) == 5
|
||||
assert Trade.get_open_trade_count() == 5
|
||||
|
||||
Trade.use_db = True
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user