Force special exit reason for "recovered" exits
This commit is contained in:
@@ -15,6 +15,7 @@ class ExitType(Enum):
|
|||||||
EMERGENCY_EXIT = "emergency_exit"
|
EMERGENCY_EXIT = "emergency_exit"
|
||||||
CUSTOM_EXIT = "custom_exit"
|
CUSTOM_EXIT = "custom_exit"
|
||||||
PARTIAL_EXIT = "partial_exit"
|
PARTIAL_EXIT = "partial_exit"
|
||||||
|
SOLD_ON_EXCHANGE = "sold_on_exchange"
|
||||||
NONE = ""
|
NONE = ""
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
|
|||||||
@@ -470,13 +470,17 @@ class FreqtradeBot(LoggingMixin):
|
|||||||
trade.orders.append(order_obj)
|
trade.orders.append(order_obj)
|
||||||
# TODO: how do we handle open_order_id ...
|
# TODO: how do we handle open_order_id ...
|
||||||
Trade.commit()
|
Trade.commit()
|
||||||
|
prev_exit_reason = trade.exit_reason
|
||||||
|
trade.exit_reason = ExitType.SOLD_ON_EXCHANGE.value
|
||||||
self.update_trade_state(trade, order['id'], order)
|
self.update_trade_state(trade, order['id'], order)
|
||||||
logger.info(f"handled order {order['id']}")
|
logger.info(f"handled order {order['id']}")
|
||||||
if not trade.is_open:
|
if not trade.is_open:
|
||||||
# Trade was just closed
|
# Trade was just closed
|
||||||
trade.close_date = order_obj.order_filled_date
|
trade.close_date = order_obj.order_filled_date
|
||||||
Trade.commit()
|
Trade.commit()
|
||||||
continue
|
break
|
||||||
|
else:
|
||||||
|
trade.exit_reason = prev_exit_reason
|
||||||
|
|
||||||
except ExchangeError:
|
except ExchangeError:
|
||||||
logger.warning("Error finding onexchange order")
|
logger.warning("Error finding onexchange order")
|
||||||
|
|||||||
Reference in New Issue
Block a user