mirror of
https://github.com/freqtrade/freqtrade.git
synced 2024-11-10 10:21:59 +00:00
adding guard not to cancel the previous stop loss on exchange if market
is falling quickly
This commit is contained in:
parent
f4ceeca438
commit
9e133eb32e
|
@ -649,9 +649,19 @@ class FreqtradeBot(object):
|
|||
trade.update(order)
|
||||
result = True
|
||||
elif self.config.get('trailing_stop', False):
|
||||
# check if trailing stoploss is enabled and stoploss value has changed
|
||||
# if trailing stoploss is enabled we check if stoploss value has changed
|
||||
# in which case we cancel stoploss order and put another one with new
|
||||
# value immediately
|
||||
|
||||
# This is a guard: there is a situation where market is going doing down fast
|
||||
# the stoploss on exchange checked previously is not hit but
|
||||
# it is too late and too risky to cancel the previous stoploss
|
||||
if trade.stop_loss < self.exchange.get_ticker(trade.pair)['bid']:
|
||||
logger.info('stoploss on exchange update: too risky to update stoploss as '
|
||||
'current best bid price (%s) is higher than stoploss value (%s)',
|
||||
self.exchange.get_ticker(trade.pair)['bid'], trade.stop_loss)
|
||||
return result
|
||||
|
||||
if trade.stop_loss > order['info']['stopPrice']:
|
||||
# we check also if the update is neccesary
|
||||
update_beat = self.strategy.order_types['stoploss_on_exchange_interval']
|
||||
|
|
Loading…
Reference in New Issue
Block a user