add proposed leverage
This commit is contained in:
parent
12948aade6
commit
28d8cd5d4c
@ -600,8 +600,9 @@ class FreqtradeBot(LoggingMixin):
|
||||
trade_side = 'short' if is_short else 'long'
|
||||
pos_adjust = trade is not None
|
||||
|
||||
proposed_leverage = self.config.get('leverage', 1.0)
|
||||
enter_limit_requested, stake_amount = self.get_valid_enter_price_and_stake(
|
||||
pair, price, stake_amount, side, trade_side, enter_tag, trade)
|
||||
pair, price, stake_amount, side, trade_side, enter_tag, trade, proposed_leverage)
|
||||
|
||||
if not stake_amount:
|
||||
return False
|
||||
@ -611,12 +612,12 @@ class FreqtradeBot(LoggingMixin):
|
||||
pair=pair,
|
||||
current_time=datetime.now(timezone.utc),
|
||||
current_rate=enter_limit_requested,
|
||||
proposed_leverage=1.0,
|
||||
proposed_leverage=proposed_leverage,
|
||||
max_leverage=max_leverage,
|
||||
side=trade_side,
|
||||
) if self.trading_mode != TradingMode.SPOT else 1.0
|
||||
)
|
||||
# Cap leverage between 1.0 and max_leverage.
|
||||
leverage = min(max(leverage, 1.0), max_leverage)
|
||||
leverage = min(max(leverage, proposed_leverage), max_leverage)
|
||||
else:
|
||||
# Changing leverage currently not possible
|
||||
leverage = trade.leverage if trade else 1.0
|
||||
@ -774,7 +775,8 @@ class FreqtradeBot(LoggingMixin):
|
||||
self, pair: str, price: Optional[float], stake_amount: float,
|
||||
side: str, trade_side: str,
|
||||
entry_tag: Optional[str],
|
||||
trade: Optional[Trade]
|
||||
trade: Optional[Trade],
|
||||
leverage: Optional[float] = 1.0
|
||||
) -> Tuple[float, float]:
|
||||
|
||||
if price:
|
||||
@ -797,8 +799,9 @@ class FreqtradeBot(LoggingMixin):
|
||||
# We do however also need min-stake to determine leverage, therefore this is ignored as
|
||||
# edge-case for now.
|
||||
min_stake_amount = self.exchange.get_min_pair_stake_amount(
|
||||
pair, enter_limit_requested, self.strategy.stoploss)
|
||||
max_stake_amount = self.exchange.get_max_pair_stake_amount(pair, enter_limit_requested)
|
||||
pair, enter_limit_requested, self.strategy.stoploss, leverage)
|
||||
max_stake_amount = self.exchange.get_max_pair_stake_amount(
|
||||
pair, enter_limit_requested, leverage)
|
||||
|
||||
if not self.edge and trade is None:
|
||||
stake_available = self.wallets.get_available_stake_amount()
|
||||
|
@ -481,7 +481,7 @@ class IStrategy(ABC, HyperStrategyMixin):
|
||||
:param side: 'long' or 'short' - indicating the direction of the proposed trade
|
||||
:return: A leverage amount, which is between 1.0 and max_leverage.
|
||||
"""
|
||||
return 1.0
|
||||
return proposed_leverage
|
||||
|
||||
def informative_pairs(self) -> ListPairsWithTimeframes:
|
||||
"""
|
||||
|
Loading…
Reference in New Issue
Block a user