Eliminate calls to process_exit_sub_trade

This commit is contained in:
Matthias
2022-06-16 07:01:02 +02:00
parent 2c12558baa
commit 7fd5846d9f
4 changed files with 17 additions and 15 deletions

View File

@@ -624,7 +624,7 @@ class LocalTrade():
self.amount, abs_tol=MATH_CLOSE_PREC):
self.close(order.safe_price)
else:
self.process_exit_sub_trade(order)
self.recalc_trade_from_orders()
elif order.ft_order_side == 'stoploss':
self.stoploss_order_id = None
self.close_rate_requested = self.stop_loss
@@ -659,12 +659,6 @@ class LocalTrade():
self.recalc_open_trade_value()
def calc_profit2(self, open_rate: float, close_rate: float,
amount: float) -> float:
return float(Decimal(amount)
* (Decimal(1 - self.fee_close) * Decimal(close_rate)
- Decimal(1 + self.fee_open) * Decimal(open_rate)))
def close(self, rate: float, *, show_msg: bool = True) -> None:
"""
Sets close_rate to the given rate, calculates total profit
@@ -843,6 +837,14 @@ class LocalTrade():
profit = close_trade_value - self.open_trade_value
return float(f"{profit:.8f}")
def calc_profit2(self, open_rate: float, close_rate: float,
amount: float) -> float:
# TODO: This is almost certainly wrong for margin/short scenarios.
# Needs investigation.
return float(Decimal(amount)
* (Decimal(1 - self.fee_close) * Decimal(close_rate)
- Decimal(1 + self.fee_open) * Decimal(open_rate)))
def calc_profit_ratio(self, rate: Optional[float] = None,
fee: Optional[float] = None,
interest_rate: Optional[float] = None) -> float: