Report profit only on filled entries.

This commit is contained in:
eSeR1805 2022-05-07 21:56:22 +03:00
parent c9498d0117
commit bfc7898654
No known key found for this signature in database
GPG Key ID: BA53686259B46936

View File

@ -177,16 +177,20 @@ class RPC:
current_rate = NAN current_rate = NAN
else: else:
current_rate = trade.close_rate current_rate = trade.close_rate
current_profit = trade.calc_profit_ratio(current_rate) if len(trade.select_filled_orders(trade.entry_side)) > 0:
current_profit_abs = trade.calc_profit(current_rate) logger.warning(trade.select_filled_orders(trade.entry_side))
current_profit_fiat: Optional[float] = None current_profit = trade.calc_profit_ratio(current_rate)
# Calculate fiat profit current_profit_abs = trade.calc_profit(current_rate)
if self._fiat_converter: current_profit_fiat: Optional[float] = None
current_profit_fiat = self._fiat_converter.convert_amount( # Calculate fiat profit
current_profit_abs, if self._fiat_converter:
self._freqtrade.config['stake_currency'], current_profit_fiat = self._fiat_converter.convert_amount(
self._freqtrade.config['fiat_display_currency'] current_profit_abs,
) self._freqtrade.config['stake_currency'],
self._freqtrade.config['fiat_display_currency']
)
else:
current_profit = current_profit_abs = current_profit_fiat = 0.0
# Calculate guaranteed profit (in case of trailing stop) # Calculate guaranteed profit (in case of trailing stop)
stoploss_entry_dist = trade.calc_profit(trade.stop_loss) stoploss_entry_dist = trade.calc_profit(trade.stop_loss)
@ -235,8 +239,12 @@ class RPC:
trade.pair, side='exit', is_short=trade.is_short, refresh=False) trade.pair, side='exit', is_short=trade.is_short, refresh=False)
except (PricingError, ExchangeError): except (PricingError, ExchangeError):
current_rate = NAN current_rate = NAN
trade_profit = trade.calc_profit(current_rate) if len(trade.select_filled_orders(trade.entry_side)) > 0:
profit_str = f'{trade.calc_profit_ratio(current_rate):.2%}' trade_profit = trade.calc_profit(current_rate)
profit_str = f'{trade.calc_profit_ratio(current_rate):.2%}'
else:
trade_profit = 0.0
profit_str = f'{0.0:.2f}'
direction_str = ('S' if trade.is_short else 'L') if nonspot else '' direction_str = ('S' if trade.is_short else 'L') if nonspot else ''
if self._fiat_converter: if self._fiat_converter:
fiat_profit = self._fiat_converter.convert_amount( fiat_profit = self._fiat_converter.convert_amount(
@ -244,7 +252,7 @@ class RPC:
stake_currency, stake_currency,
fiat_display_currency fiat_display_currency
) )
if fiat_profit and not isnan(fiat_profit): if not isnan(fiat_profit):
profit_str += f" ({fiat_profit:.2f})" profit_str += f" ({fiat_profit:.2f})"
fiat_profit_sum = fiat_profit if isnan(fiat_profit_sum) \ fiat_profit_sum = fiat_profit if isnan(fiat_profit_sum) \
else fiat_profit_sum + fiat_profit else fiat_profit_sum + fiat_profit