Fix type errors by converting all hyperopt methods to instance methods

This commit is contained in:
Matthias 2021-04-01 06:47:23 +02:00
parent 5e5b11d4d6
commit 5acdc9bf42
2 changed files with 14 additions and 22 deletions

View File

@ -44,36 +44,31 @@ class IHyperOpt(ABC):
IHyperOpt.ticker_interval = str(config['timeframe']) # DEPRECATED IHyperOpt.ticker_interval = str(config['timeframe']) # DEPRECATED
IHyperOpt.timeframe = str(config['timeframe']) IHyperOpt.timeframe = str(config['timeframe'])
@staticmethod def buy_strategy_generator(self, params: Dict[str, Any]) -> Callable:
def buy_strategy_generator(params: Dict[str, Any]) -> Callable:
""" """
Create a buy strategy generator. Create a buy strategy generator.
""" """
raise OperationalException(_format_exception_message('buy_strategy_generator', 'buy')) raise OperationalException(_format_exception_message('buy_strategy_generator', 'buy'))
@staticmethod def sell_strategy_generator(self, params: Dict[str, Any]) -> Callable:
def sell_strategy_generator(params: Dict[str, Any]) -> Callable:
""" """
Create a sell strategy generator. Create a sell strategy generator.
""" """
raise OperationalException(_format_exception_message('sell_strategy_generator', 'sell')) raise OperationalException(_format_exception_message('sell_strategy_generator', 'sell'))
@staticmethod def indicator_space(self) -> List[Dimension]:
def indicator_space() -> List[Dimension]:
""" """
Create an indicator space. Create an indicator space.
""" """
raise OperationalException(_format_exception_message('indicator_space', 'buy')) raise OperationalException(_format_exception_message('indicator_space', 'buy'))
@staticmethod def sell_indicator_space(self) -> List[Dimension]:
def sell_indicator_space() -> List[Dimension]:
""" """
Create a sell indicator space. Create a sell indicator space.
""" """
raise OperationalException(_format_exception_message('sell_indicator_space', 'sell')) raise OperationalException(_format_exception_message('sell_indicator_space', 'sell'))
@staticmethod def generate_roi_table(self, params: Dict) -> Dict[int, float]:
def generate_roi_table(params: Dict) -> Dict[int, float]:
""" """
Create a ROI table. Create a ROI table.
@ -88,8 +83,7 @@ class IHyperOpt(ABC):
return roi_table return roi_table
@staticmethod def roi_space(self) -> List[Dimension]:
def roi_space() -> List[Dimension]:
""" """
Create a ROI space. Create a ROI space.
@ -109,7 +103,7 @@ class IHyperOpt(ABC):
roi_t_alpha = 1.0 roi_t_alpha = 1.0
roi_p_alpha = 1.0 roi_p_alpha = 1.0
timeframe_min = timeframe_to_minutes(IHyperOpt.ticker_interval) timeframe_min = timeframe_to_minutes(self.ticker_interval)
# We define here limits for the ROI space parameters automagically adapted to the # We define here limits for the ROI space parameters automagically adapted to the
# timeframe used by the bot: # timeframe used by the bot:
@ -145,7 +139,7 @@ class IHyperOpt(ABC):
'roi_p2': roi_limits['roi_p2_min'], 'roi_p2': roi_limits['roi_p2_min'],
'roi_p3': roi_limits['roi_p3_min'], 'roi_p3': roi_limits['roi_p3_min'],
} }
logger.info(f"Min roi table: {round_dict(IHyperOpt.generate_roi_table(p), 5)}") logger.info(f"Min roi table: {round_dict(self.generate_roi_table(p), 5)}")
p = { p = {
'roi_t1': roi_limits['roi_t1_max'], 'roi_t1': roi_limits['roi_t1_max'],
'roi_t2': roi_limits['roi_t2_max'], 'roi_t2': roi_limits['roi_t2_max'],
@ -154,7 +148,7 @@ class IHyperOpt(ABC):
'roi_p2': roi_limits['roi_p2_max'], 'roi_p2': roi_limits['roi_p2_max'],
'roi_p3': roi_limits['roi_p3_max'], 'roi_p3': roi_limits['roi_p3_max'],
} }
logger.info(f"Max roi table: {round_dict(IHyperOpt.generate_roi_table(p), 5)}") logger.info(f"Max roi table: {round_dict(self.generate_roi_table(p), 5)}")
return [ return [
Integer(roi_limits['roi_t1_min'], roi_limits['roi_t1_max'], name='roi_t1'), Integer(roi_limits['roi_t1_min'], roi_limits['roi_t1_max'], name='roi_t1'),
@ -165,8 +159,7 @@ class IHyperOpt(ABC):
Real(roi_limits['roi_p3_min'], roi_limits['roi_p3_max'], name='roi_p3'), Real(roi_limits['roi_p3_min'], roi_limits['roi_p3_max'], name='roi_p3'),
] ]
@staticmethod def stoploss_space(self) -> List[Dimension]:
def stoploss_space() -> List[Dimension]:
""" """
Create a stoploss space. Create a stoploss space.
@ -177,8 +170,7 @@ class IHyperOpt(ABC):
Real(-0.35, -0.02, name='stoploss'), Real(-0.35, -0.02, name='stoploss'),
] ]
@staticmethod def generate_trailing_params(self, params: Dict) -> Dict:
def generate_trailing_params(params: Dict) -> Dict:
""" """
Create dict with trailing stop parameters. Create dict with trailing stop parameters.
""" """
@ -190,8 +182,7 @@ class IHyperOpt(ABC):
'trailing_only_offset_is_reached': params['trailing_only_offset_is_reached'], 'trailing_only_offset_is_reached': params['trailing_only_offset_is_reached'],
} }
@staticmethod def trailing_space(self) -> List[Dimension]:
def trailing_space() -> List[Dimension]:
""" """
Create a trailing stoploss space. Create a trailing stoploss space.

View File

@ -101,7 +101,8 @@ class FloatParameter(BaseParameter):
opt_range: Sequence[float] opt_range: Sequence[float]
def __init__(self, low: Union[float, Sequence[float]], high: Optional[float] = None, *, def __init__(self, low: Union[float, Sequence[float]], high: Optional[float] = None, *,
default: float, space: Optional[str] = None, optimize: bool = True, load: bool = True, **kwargs): default: float, space: Optional[str] = None,
optimize: bool = True, load: bool = True, **kwargs):
""" """
Initialize hyperopt-optimizable parameter. Initialize hyperopt-optimizable parameter.
:param low: Lower end (inclusive) of optimization space or [low, high]. :param low: Lower end (inclusive) of optimization space or [low, high].