migration script and and error handling on stop loss order

This commit is contained in:
misagh
2018-11-26 18:46:59 +01:00
parent 17004a5a72
commit 1f1770ad5a
3 changed files with 20 additions and 2 deletions

View File

@@ -372,9 +372,26 @@ class Exchange(object):
}
return self._dry_run_open_orders[order_id]
return self._api.create_order(pair, 'stop_loss', 'sell',
try:
return self._api.create_order(pair, 'stop_loss', 'sell',
amount, rate, {'stopPrice': stop_price})
except ccxt.InsufficientFunds as e:
raise DependencyException(
f'Insufficient funds to place stoploss limit order on market {pair}.'
f'Tried to put a stoploss amount {amount} at rate {rate} (total {rate*amount}).'
f'Message: {e}')
except ccxt.InvalidOrder as e:
raise DependencyException(
f'Could not place stoploss limit order on market {pair}.'
f'Tried to place stoploss amount {amount} at rate {rate} (total {rate*amount}).'
f'Message: {e}')
except (ccxt.NetworkError, ccxt.ExchangeError) as e:
raise TemporaryError(
f'Could not place stoploss limit order due to {e.__class__.__name__}. Message: {e}')
except ccxt.BaseError as e:
raise OperationalException(e)
@retrier
def get_balance(self, currency: str) -> float:
if self._conf['dry_run']: