Graciously fail if strategy has freqAI code, but freqAI is not enabled.
This commit is contained in:
parent
c190d57f1a
commit
b682fc446e
@ -152,6 +152,13 @@ class IStrategy(ABC, HyperStrategyMixin):
|
|||||||
|
|
||||||
self.freqai = FreqaiModelResolver.load_freqaimodel(self.config)
|
self.freqai = FreqaiModelResolver.load_freqaimodel(self.config)
|
||||||
self.freqai_info = self.config["freqai"]
|
self.freqai_info = self.config["freqai"]
|
||||||
|
else:
|
||||||
|
# Gracious failures if freqAI is disabled but "start" is called.
|
||||||
|
class DummyClass():
|
||||||
|
def start(self, *args, **kwargs):
|
||||||
|
raise OperationalException(
|
||||||
|
'freqAI is not enabled. Please enable it in your config to use this strategy.')
|
||||||
|
self.freqai = DummyClass() # type: ignore
|
||||||
|
|
||||||
def ft_bot_start(self, **kwargs) -> None:
|
def ft_bot_start(self, **kwargs) -> None:
|
||||||
"""
|
"""
|
||||||
|
@ -302,6 +302,13 @@ def test_populate_any_indicators(default_conf, testdatadir) -> None:
|
|||||||
assert len(processed['UNITTEST/BTC']) == 102 # partial candle was removed
|
assert len(processed['UNITTEST/BTC']) == 102 # partial candle was removed
|
||||||
|
|
||||||
|
|
||||||
|
def test_freqai_not_initialized(default_conf) -> None:
|
||||||
|
strategy = StrategyResolver.load_strategy(default_conf)
|
||||||
|
strategy.ft_bot_start()
|
||||||
|
with pytest.raises(OperationalException, match=r'freqAI is not enabled\.'):
|
||||||
|
strategy.freqai.start()
|
||||||
|
|
||||||
|
|
||||||
def test_advise_all_indicators_copy(mocker, default_conf, testdatadir) -> None:
|
def test_advise_all_indicators_copy(mocker, default_conf, testdatadir) -> None:
|
||||||
strategy = StrategyResolver.load_strategy(default_conf)
|
strategy = StrategyResolver.load_strategy(default_conf)
|
||||||
aimock = mocker.patch('freqtrade.strategy.interface.IStrategy.advise_indicators')
|
aimock = mocker.patch('freqtrade.strategy.interface.IStrategy.advise_indicators')
|
||||||
|
Loading…
Reference in New Issue
Block a user