Merge branch 'develop' into move_datadownload
This commit is contained in:
@@ -78,8 +78,8 @@ class IStrategy(ABC, HyperStrategyMixin):
|
||||
|
||||
# Optional time in force
|
||||
order_time_in_force: Dict = {
|
||||
'entry': 'gtc',
|
||||
'exit': 'gtc',
|
||||
'entry': 'GTC',
|
||||
'exit': 'GTC',
|
||||
}
|
||||
|
||||
# run "populate_indicators" only for new candle
|
||||
|
@@ -7,6 +7,9 @@ from abc import ABC, abstractmethod
|
||||
from contextlib import suppress
|
||||
from typing import Any, Optional, Sequence, Union
|
||||
|
||||
from freqtrade.enums.hyperoptstate import HyperoptState
|
||||
from freqtrade.optimize.hyperopt_tools import HyperoptStateContainer
|
||||
|
||||
|
||||
with suppress(ImportError):
|
||||
from skopt.space import Integer, Real, Categorical
|
||||
@@ -57,6 +60,13 @@ class BaseParameter(ABC):
|
||||
Get-space - will be used by Hyperopt to get the hyperopt Space
|
||||
"""
|
||||
|
||||
def can_optimize(self):
|
||||
return (
|
||||
self.in_space
|
||||
and self.optimize
|
||||
and HyperoptStateContainer.state != HyperoptState.OPTIMIZE
|
||||
)
|
||||
|
||||
|
||||
class NumericParameter(BaseParameter):
|
||||
""" Internal parameter used for Numeric purposes """
|
||||
@@ -133,7 +143,7 @@ class IntParameter(NumericParameter):
|
||||
Returns a List with 1 item (`value`) in "non-hyperopt" mode, to avoid
|
||||
calculating 100ds of indicators.
|
||||
"""
|
||||
if self.in_space and self.optimize:
|
||||
if self.can_optimize():
|
||||
# Scikit-optimize ranges are "inclusive", while python's "range" is exclusive
|
||||
return range(self.low, self.high + 1)
|
||||
else:
|
||||
@@ -212,7 +222,7 @@ class DecimalParameter(NumericParameter):
|
||||
Returns a List with 1 item (`value`) in "non-hyperopt" mode, to avoid
|
||||
calculating 100ds of indicators.
|
||||
"""
|
||||
if self.in_space and self.optimize:
|
||||
if self.can_optimize():
|
||||
low = int(self.low * pow(10, self._decimals))
|
||||
high = int(self.high * pow(10, self._decimals)) + 1
|
||||
return [round(n * pow(0.1, self._decimals), self._decimals) for n in range(low, high)]
|
||||
@@ -261,7 +271,7 @@ class CategoricalParameter(BaseParameter):
|
||||
Returns a List with 1 item (`value`) in "non-hyperopt" mode, to avoid
|
||||
calculating 100ds of indicators.
|
||||
"""
|
||||
if self.in_space and self.optimize:
|
||||
if self.can_optimize():
|
||||
return self.opt_range
|
||||
else:
|
||||
return [self.value]
|
||||
|
Reference in New Issue
Block a user