Add leverage callback to advanced template

This commit is contained in:
Matthias 2022-02-23 20:19:52 +01:00
parent c51603b110
commit d973ba1f5d
2 changed files with 17 additions and 2 deletions

View File

@ -426,8 +426,7 @@ class IStrategy(ABC, HyperStrategyMixin):
proposed_leverage: float, max_leverage: float, side: str, proposed_leverage: float, max_leverage: float, side: str,
**kwargs) -> float: **kwargs) -> float:
""" """
Customize leverage for each new trade. This method is not called when edge module is Customize leverage for each new trade. This method is only called in futures mode.
enabled.
:param pair: Pair that's currently analyzed :param pair: Pair that's currently analyzed
:param current_time: datetime object, containing the current datetime :param current_time: datetime object, containing the current datetime

View File

@ -232,3 +232,19 @@ def adjust_trade_position(self, trade: 'Trade', current_time: 'datetime',
:return float: Stake amount to adjust your trade :return float: Stake amount to adjust your trade
""" """
return None return None
def leverage(self, pair: str, current_time: datetime, current_rate: float,
proposed_leverage: float, max_leverage: float, side: str,
**kwargs) -> float:
"""
Customize leverage for each new trade. This method is only called in futures mode.
:param pair: Pair that's currently analyzed
:param current_time: datetime object, containing the current datetime
:param current_rate: Rate, calculated based on pricing settings in ask_strategy.
:param proposed_leverage: A leverage proposed by the bot.
:param max_leverage: Max leverage allowed on this pair
: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