add custom_exit_price in interface and freqtradebot

This commit is contained in:
axel 2021-08-04 23:09:40 -04:00
parent f243ad4af0
commit cb3b0cf311
2 changed files with 9 additions and 1 deletions

View File

@ -1082,6 +1082,14 @@ class FreqtradeBot(LoggingMixin):
and self.strategy.order_types['stoploss_on_exchange']: and self.strategy.order_types['stoploss_on_exchange']:
limit = trade.stop_loss limit = trade.stop_loss
# set custom_exit_price if available
current_profit = trade.calc_profit_ratio(limit)
limit = strategy_safe_wrapper(self.strategy.custom_exit_price,
default_retval=limit)(
pair=trade.pair, trade=trade,
current_time=datetime.now(timezone.utc),
proposed_rate=limit, current_profit=current_profit)
# First cancelling stoploss on exchange ... # First cancelling stoploss on exchange ...
if self.strategy.order_types.get('stoploss_on_exchange') and trade.stoploss_order_id: if self.strategy.order_types.get('stoploss_on_exchange') and trade.stoploss_order_id:
try: try:

View File

@ -299,7 +299,7 @@ class IStrategy(ABC, HyperStrategyMixin):
def custom_exit_price(self, pair: str, trade: Trade, def custom_exit_price(self, pair: str, trade: Trade,
current_time: datetime, proposed_rate: float, current_time: datetime, proposed_rate: float,
current_rate: float, current_profit: float, **kwargs) -> float: current_profit: float, **kwargs) -> float:
""" """
Custom exit price logic, returning the new exit price. Custom exit price logic, returning the new exit price.