Rename stoploss_limit to stoploss
This commit is contained in:
		| @@ -32,8 +32,7 @@ class Binance(Exchange): | ||||
|  | ||||
|         return super().get_order_book(pair, limit) | ||||
|  | ||||
|     def stoploss_limit(self, pair: str, amount: float, stop_price: float, | ||||
|                        order_types: Dict) -> Dict: | ||||
|     def stoploss(self, pair: str, amount: float, stop_price: float, order_types: Dict) -> Dict: | ||||
|         """ | ||||
|         creates a stoploss limit order. | ||||
|         this stoploss-limit is binance-specific. | ||||
|   | ||||
| @@ -519,10 +519,10 @@ class Exchange: | ||||
|  | ||||
|         return self.create_order(pair, ordertype, 'sell', amount, rate, params) | ||||
|  | ||||
|     def stoploss_limit(self, pair: str, amount: float, stop_price: float, | ||||
|                        order_types: Dict) -> Dict: | ||||
|     def stoploss(self, pair: str, amount: float, stop_price: float, order_types: Dict) -> Dict: | ||||
|         """ | ||||
|         creates a stoploss limit order. | ||||
|         creates a stoploss order. | ||||
|         The precise ordertype is determined by the order_types dict or exchange default. | ||||
|         Since ccxt does not unify stoploss-limit orders yet, this needs to be implemented in each | ||||
|         exchange's subclass. | ||||
|         The exception below should never raise, since we disallow | ||||
|   | ||||
| @@ -637,7 +637,7 @@ class FreqtradeBot: | ||||
|         :return: True if the order succeeded, and False in case of problems. | ||||
|         """ | ||||
|         try: | ||||
|             stoploss_order = self.exchange.stoploss_limit(pair=trade.pair, amount=trade.amount, | ||||
|             stoploss_order = self.exchange.stoploss(pair=trade.pair, amount=trade.amount, | ||||
|                                                     stop_price=stop_price, | ||||
|                                                     order_types=self.strategy.order_types) | ||||
|             trade.stoploss_order_id = str(stoploss_order['id']) | ||||
|   | ||||
| @@ -28,12 +28,12 @@ def test_stoploss_limit_order(default_conf, mocker): | ||||
|     exchange = get_patched_exchange(mocker, default_conf, api_mock, 'binance') | ||||
|  | ||||
|     with pytest.raises(OperationalException): | ||||
|         order = exchange.stoploss_limit(pair='ETH/BTC', amount=1, stop_price=190, | ||||
|         order = exchange.stoploss(pair='ETH/BTC', amount=1, stop_price=190, | ||||
|                                   order_types={'stoploss_on_exchange_limit_ratio': 1.05}) | ||||
|  | ||||
|     api_mock.create_order.reset_mock() | ||||
|  | ||||
|     order = exchange.stoploss_limit(pair='ETH/BTC', amount=1, stop_price=220, order_types={}) | ||||
|     order = exchange.stoploss(pair='ETH/BTC', amount=1, stop_price=220, order_types={}) | ||||
|  | ||||
|     assert 'id' in order | ||||
|     assert 'info' in order | ||||
| @@ -48,23 +48,23 @@ def test_stoploss_limit_order(default_conf, mocker): | ||||
|     with pytest.raises(DependencyException): | ||||
|         api_mock.create_order = MagicMock(side_effect=ccxt.InsufficientFunds("0 balance")) | ||||
|         exchange = get_patched_exchange(mocker, default_conf, api_mock, 'binance') | ||||
|         exchange.stoploss_limit(pair='ETH/BTC', amount=1, stop_price=220, order_types={}) | ||||
|         exchange.stoploss(pair='ETH/BTC', amount=1, stop_price=220, order_types={}) | ||||
|  | ||||
|     with pytest.raises(InvalidOrderException): | ||||
|         api_mock.create_order = MagicMock( | ||||
|             side_effect=ccxt.InvalidOrder("binance Order would trigger immediately.")) | ||||
|         exchange = get_patched_exchange(mocker, default_conf, api_mock, 'binance') | ||||
|         exchange.stoploss_limit(pair='ETH/BTC', amount=1, stop_price=220, order_types={}) | ||||
|         exchange.stoploss(pair='ETH/BTC', amount=1, stop_price=220, order_types={}) | ||||
|  | ||||
|     with pytest.raises(TemporaryError): | ||||
|         api_mock.create_order = MagicMock(side_effect=ccxt.NetworkError("No connection")) | ||||
|         exchange = get_patched_exchange(mocker, default_conf, api_mock, 'binance') | ||||
|         exchange.stoploss_limit(pair='ETH/BTC', amount=1, stop_price=220, order_types={}) | ||||
|         exchange.stoploss(pair='ETH/BTC', amount=1, stop_price=220, order_types={}) | ||||
|  | ||||
|     with pytest.raises(OperationalException, match=r".*DeadBeef.*"): | ||||
|         api_mock.create_order = MagicMock(side_effect=ccxt.BaseError("DeadBeef")) | ||||
|         exchange = get_patched_exchange(mocker, default_conf, api_mock, 'binance') | ||||
|         exchange.stoploss_limit(pair='ETH/BTC', amount=1, stop_price=220, order_types={}) | ||||
|         exchange.stoploss(pair='ETH/BTC', amount=1, stop_price=220, order_types={}) | ||||
|  | ||||
|  | ||||
| def test_stoploss_limit_order_dry_run(default_conf, mocker): | ||||
| @@ -77,12 +77,12 @@ def test_stoploss_limit_order_dry_run(default_conf, mocker): | ||||
|     exchange = get_patched_exchange(mocker, default_conf, api_mock, 'binance') | ||||
|  | ||||
|     with pytest.raises(OperationalException): | ||||
|         order = exchange.stoploss_limit(pair='ETH/BTC', amount=1, stop_price=190, | ||||
|         order = exchange.stoploss(pair='ETH/BTC', amount=1, stop_price=190, | ||||
|                                   order_types={'stoploss_on_exchange_limit_ratio': 1.05}) | ||||
|  | ||||
|     api_mock.create_order.reset_mock() | ||||
|  | ||||
|     order = exchange.stoploss_limit(pair='ETH/BTC', amount=1, stop_price=220, order_types={}) | ||||
|     order = exchange.stoploss(pair='ETH/BTC', amount=1, stop_price=220, order_types={}) | ||||
|  | ||||
|     assert 'id' in order | ||||
|     assert 'info' in order | ||||
|   | ||||
| @@ -1761,7 +1761,7 @@ def test_get_fee(default_conf, mocker, exchange_name): | ||||
| def test_stoploss_limit_order_unsupported_exchange(default_conf, mocker): | ||||
|     exchange = get_patched_exchange(mocker, default_conf, 'bittrex') | ||||
|     with pytest.raises(OperationalException, match=r"stoploss_limit is not implemented .*"): | ||||
|         exchange.stoploss_limit(pair='ETH/BTC', amount=1, stop_price=220, order_types={}) | ||||
|         exchange.stoploss(pair='ETH/BTC', amount=1, stop_price=220, order_types={}) | ||||
|  | ||||
|  | ||||
| def test_merge_ft_has_dict(default_conf, mocker): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user