@@ -1424,11 +1424,11 @@ class FreqtradeBot(LoggingMixin):
|
|||||||
# New candle
|
# New candle
|
||||||
proposed_rate = self.exchange.get_rate(
|
proposed_rate = self.exchange.get_rate(
|
||||||
trade.pair, side='entry', is_short=trade.is_short, refresh=True)
|
trade.pair, side='entry', is_short=trade.is_short, refresh=True)
|
||||||
adjusted_entry_price = strategy_safe_wrapper(self.strategy.adjust_entry_price,
|
adjusted_entry_price = strategy_safe_wrapper(
|
||||||
default_retval=order_obj.price)(
|
self.strategy.adjust_entry_price, default_retval=order_obj.safe_placement_price)(
|
||||||
trade=trade, order=order_obj, pair=trade.pair,
|
trade=trade, order=order_obj, pair=trade.pair,
|
||||||
current_time=datetime.now(timezone.utc), proposed_rate=proposed_rate,
|
current_time=datetime.now(timezone.utc), proposed_rate=proposed_rate,
|
||||||
current_order_rate=order_obj.safe_price, entry_tag=trade.enter_tag,
|
current_order_rate=order_obj.safe_placement_price, entry_tag=trade.enter_tag,
|
||||||
side=trade.trade_direction)
|
side=trade.trade_direction)
|
||||||
|
|
||||||
replacing = True
|
replacing = True
|
||||||
@@ -1436,7 +1436,7 @@ class FreqtradeBot(LoggingMixin):
|
|||||||
if not adjusted_entry_price:
|
if not adjusted_entry_price:
|
||||||
replacing = False
|
replacing = False
|
||||||
cancel_reason = constants.CANCEL_REASON['USER_CANCEL']
|
cancel_reason = constants.CANCEL_REASON['USER_CANCEL']
|
||||||
if order_obj.price != adjusted_entry_price:
|
if order_obj.safe_placement_price != adjusted_entry_price:
|
||||||
# cancel existing order if new price is supplied or None
|
# cancel existing order if new price is supplied or None
|
||||||
res = self.handle_cancel_enter(trade, order, order_obj, cancel_reason,
|
res = self.handle_cancel_enter(trade, order, order_obj, cancel_reason,
|
||||||
replacing=replacing)
|
replacing=replacing)
|
||||||
|
|||||||
@@ -106,6 +106,11 @@ class Order(ModelBase):
|
|||||||
def safe_amount(self) -> float:
|
def safe_amount(self) -> float:
|
||||||
return self.amount or self.ft_amount
|
return self.amount or self.ft_amount
|
||||||
|
|
||||||
|
@property
|
||||||
|
def safe_placement_price(self) -> float:
|
||||||
|
"""Price at which the order was placed"""
|
||||||
|
return self.price or self.stop_price or self.ft_price
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def safe_price(self) -> float:
|
def safe_price(self) -> float:
|
||||||
return self.average or self.price or self.stop_price or self.ft_price
|
return self.average or self.price or self.stop_price or self.ft_price
|
||||||
|
|||||||
Reference in New Issue
Block a user