TSL validation tests added

This commit is contained in:
misagh 2019-03-12 15:35:44 +01:00
parent 36e95bc868
commit f55d75e7fc
2 changed files with 31 additions and 4 deletions

View File

@ -275,11 +275,11 @@ class Exchange(object):
if tsl_positive == 0.0:
raise OperationalException(
f'The config trailing_only_offset_is_reached need '
'trailing_stop_positive_offset to be more than 0 in your config')
'trailing_stop_positive_offset to be more than 0 in your config.')
if tsl_positive > 0 and 0 < tsl_offset <= tsl_positive:
raise OperationalException(
f'The config trailing_stop_positive_offset need '
'to be greater than trailing_stop_positive_offset in your config')
'to be greater than trailing_stop_positive_offset in your config.')
def exchange_has(self, endpoint: str) -> bool:
"""

View File

@ -432,6 +432,33 @@ def test_validate_order_types(default_conf, mocker):
Exchange(default_conf)
def test_validate_tsl(default_conf, mocker):
api_mock = MagicMock()
mocker.patch('freqtrade.exchange.Exchange._init_ccxt', MagicMock(return_value=api_mock))
mocker.patch('freqtrade.exchange.Exchange._load_markets', MagicMock(return_value={}))
mocker.patch('freqtrade.exchange.Exchange.validate_timeframes', MagicMock())
mocker.patch('freqtrade.exchange.Exchange.name', 'Bittrex')
default_conf['trailing_stop'] = True
default_conf['trailing_stop_positive'] = 0
default_conf['trailing_stop_positive_offset'] = 0
default_conf['trailing_only_offset_is_reached'] = False
Exchange(default_conf)
default_conf['trailing_only_offset_is_reached'] = True
with pytest.raises(OperationalException,
match=r'The config trailing_only_offset_is_reached need '
'trailing_stop_positive_offset to be more than 0 in your config.'):
Exchange(default_conf)
default_conf['trailing_stop_positive_offset'] = 0.01
default_conf['trailing_stop_positive'] = 0.015
with pytest.raises(OperationalException,
match=r'The config trailing_stop_positive_offset need '
'to be greater than trailing_stop_positive_offset in your config.'):
Exchange(default_conf)
def test_validate_order_types_not_in_config(default_conf, mocker):
api_mock = MagicMock()
mocker.patch('freqtrade.exchange.Exchange._init_ccxt', MagicMock(return_value=api_mock))