add order parameter to order_filled callback

This commit is contained in:
Axel-CH
2024-03-18 20:47:27 -04:00
parent cd986ced45
commit d1e1b8410b
3 changed files with 7 additions and 4 deletions

View File

@@ -478,7 +478,8 @@ class FreqtradeBot(LoggingMixin):
trade.close_date = trade.date_last_filled_utc
strategy_safe_wrapper(
self.strategy.order_filled, default_retval=None)(
pair=trade.pair, trade=trade, current_time=datetime.now(timezone.utc))
pair=trade.pair, trade=trade, order=order_obj,
current_time=datetime.now(timezone.utc))
self.order_close_notify(trade, order_obj,
order_obj.ft_order_side == 'stoploss',
send_msg=prev_trade_state != trade.is_open)
@@ -1950,7 +1951,7 @@ class FreqtradeBot(LoggingMixin):
if order.status in constants.NON_OPEN_EXCHANGE_STATES:
strategy_safe_wrapper(
self.strategy.order_filled, default_retval=None)(
pair=trade.pair, trade=trade, current_time=datetime.now(timezone.utc))
pair=trade.pair, trade=trade, order=order, current_time=datetime.now(timezone.utc))
# If a entry order was closed, force update on stoploss on exchange
if order.ft_order_side == trade.entry_side:
trade = self.cancel_stoploss_on_exchange(trade)

View File

@@ -605,7 +605,7 @@ class Backtesting:
self._run_funding_fees(trade, current_date, force=True)
strategy_safe_wrapper(
self.strategy.order_filled, default_retval=None)(
pair=trade.pair, trade=trade, current_time=datetime.now(timezone.utc))
pair=trade.pair, trade=trade, order=order, current_time=datetime.now(timezone.utc))
if not (order.ft_order_side == trade.exit_side and order.safe_amount == trade.amount):
# trade is still open

View File

@@ -372,11 +372,13 @@ class IStrategy(ABC, HyperStrategyMixin):
"""
return True
def order_filled(self, pair: str, trade: Trade, current_time: datetime, **kwargs) -> None:
def order_filled(self, pair: str, trade: Trade, order: Order,
current_time: datetime, **kwargs) -> None:
"""
Called just ofter order filling
:param pair: Pair for trade that's just exited.
:param trade: trade object.
:param order: Order object.
:param current_time: datetime object, containing the current datetime
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
"""