add handle_similar_open_order for execute_trade_exit
This commit is contained in:
@@ -2014,13 +2014,6 @@ class FreqtradeBot(LoggingMixin):
|
|||||||
|
|
||||||
limit = self.get_valid_price(custom_exit_price, proposed_limit_rate)
|
limit = self.get_valid_price(custom_exit_price, proposed_limit_rate)
|
||||||
|
|
||||||
if trade.has_open_orders:
|
|
||||||
# cancel any open order of this trade
|
|
||||||
self.cancel_open_orders_of_trade(
|
|
||||||
trade, [trade.exit_side], constants.CANCEL_REASON["REPLACE"], True
|
|
||||||
)
|
|
||||||
Trade.commit()
|
|
||||||
|
|
||||||
# First cancelling stoploss on exchange ...
|
# First cancelling stoploss on exchange ...
|
||||||
trade = self.cancel_stoploss_on_exchange(trade)
|
trade = self.cancel_stoploss_on_exchange(trade)
|
||||||
|
|
||||||
@@ -2050,6 +2043,17 @@ class FreqtradeBot(LoggingMixin):
|
|||||||
logger.info(f"User denied exit for {trade.pair}.")
|
logger.info(f"User denied exit for {trade.pair}.")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
if trade.has_open_orders:
|
||||||
|
if self.handle_similar_open_order(trade, limit, amount, trade.exit_side):
|
||||||
|
logger.info(f"A similar open order was found for {trade.pair}.")
|
||||||
|
return False
|
||||||
|
|
||||||
|
# cancel any open order of this trade
|
||||||
|
self.cancel_open_orders_of_trade(
|
||||||
|
trade, [trade.exit_side], constants.CANCEL_REASON["REPLACE"], True
|
||||||
|
)
|
||||||
|
Trade.commit()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# Execute sell and update trade record
|
# Execute sell and update trade record
|
||||||
order = self.exchange.create_order(
|
order = self.exchange.create_order(
|
||||||
|
|||||||
Reference in New Issue
Block a user