Fix type errors by converting all hyperopt methods to instance methods
This commit is contained in:
parent
5e5b11d4d6
commit
5acdc9bf42
@ -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.
|
||||||
|
|
||||||
|
@ -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].
|
||||||
|
Loading…
Reference in New Issue
Block a user