Validate stoploss_on_exchange_limit_ratio at startup time

This commit is contained in:
hroff-1902
2020-06-14 01:07:00 +03:00
parent 1bf333d320
commit 4660909e95
2 changed files with 30 additions and 3 deletions

View File

@@ -689,13 +689,13 @@ def test_validate_order_types(default_conf, mocker):
mocker.patch('freqtrade.exchange.Exchange.validate_timeframes')
mocker.patch('freqtrade.exchange.Exchange.validate_stakecurrency')
mocker.patch('freqtrade.exchange.Exchange.name', 'Bittrex')
default_conf['order_types'] = {
'buy': 'limit',
'sell': 'limit',
'stoploss': 'market',
'stoploss_on_exchange': False
}
Exchange(default_conf)
type(api_mock).has = PropertyMock(return_value={'createMarketOrder': False})
@@ -707,7 +707,6 @@ def test_validate_order_types(default_conf, mocker):
'stoploss': 'market',
'stoploss_on_exchange': False
}
with pytest.raises(OperationalException,
match=r'Exchange .* does not support market orders.'):
Exchange(default_conf)
@@ -718,11 +717,32 @@ def test_validate_order_types(default_conf, mocker):
'stoploss': 'limit',
'stoploss_on_exchange': True
}
with pytest.raises(OperationalException,
match=r'On exchange stoploss is not supported for .*'):
Exchange(default_conf)
default_conf['order_types'] = {
'buy': 'limit',
'sell': 'limit',
'stoploss': 'limit',
'stoploss_on_exchange': False,
'stoploss_on_exchange_limit_ratio': 1.05
}
with pytest.raises(OperationalException,
match=r'stoploss_on_exchange_limit_ratio should be < 1.0 and > 0.0'):
Exchange(default_conf)
default_conf['order_types'] = {
'buy': 'limit',
'sell': 'limit',
'stoploss': 'limit',
'stoploss_on_exchange': False,
'stoploss_on_exchange_limit_ratio': -0.1
}
with pytest.raises(OperationalException,
match=r'stoploss_on_exchange_limit_ratio should be < 1.0 and > 0.0'):
Exchange(default_conf)
def test_validate_order_types_not_in_config(default_conf, mocker):
api_mock = MagicMock()