Parametrize hyperopt file
This commit is contained in:
parent
f23f659ac5
commit
5f8fcebb88
@ -48,14 +48,7 @@ class {{ hyperopt }}(IHyperOpt):
|
|||||||
conditions = []
|
conditions = []
|
||||||
|
|
||||||
# GUARDS AND TRENDS
|
# GUARDS AND TRENDS
|
||||||
if 'mfi-enabled' in params and params['mfi-enabled']:
|
{{ buy_guards | indent(12) }}
|
||||||
conditions.append(dataframe['mfi'] < params['mfi-value'])
|
|
||||||
if 'fastd-enabled' in params and params['fastd-enabled']:
|
|
||||||
conditions.append(dataframe['fastd'] < params['fastd-value'])
|
|
||||||
if 'adx-enabled' in params and params['adx-enabled']:
|
|
||||||
conditions.append(dataframe['adx'] > params['adx-value'])
|
|
||||||
if 'rsi-enabled' in params and params['rsi-enabled']:
|
|
||||||
conditions.append(dataframe['rsi'] < params['rsi-value'])
|
|
||||||
|
|
||||||
# TRIGGERS
|
# TRIGGERS
|
||||||
if 'trigger' in params:
|
if 'trigger' in params:
|
||||||
@ -85,15 +78,7 @@ class {{ hyperopt }}(IHyperOpt):
|
|||||||
Define your Hyperopt space for searching buy strategy parameters.
|
Define your Hyperopt space for searching buy strategy parameters.
|
||||||
"""
|
"""
|
||||||
return [
|
return [
|
||||||
Integer(10, 25, name='mfi-value'),
|
{{ buy_space | indent(12) }}
|
||||||
Integer(15, 45, name='fastd-value'),
|
|
||||||
Integer(20, 50, name='adx-value'),
|
|
||||||
Integer(20, 40, name='rsi-value'),
|
|
||||||
Categorical([True, False], name='mfi-enabled'),
|
|
||||||
Categorical([True, False], name='fastd-enabled'),
|
|
||||||
Categorical([True, False], name='adx-enabled'),
|
|
||||||
Categorical([True, False], name='rsi-enabled'),
|
|
||||||
Categorical(['bb_lower', 'macd_cross_signal', 'sar_reversal'], name='trigger')
|
|
||||||
]
|
]
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@ -108,14 +93,7 @@ class {{ hyperopt }}(IHyperOpt):
|
|||||||
conditions = []
|
conditions = []
|
||||||
|
|
||||||
# GUARDS AND TRENDS
|
# GUARDS AND TRENDS
|
||||||
if 'sell-mfi-enabled' in params and params['sell-mfi-enabled']:
|
{{ sell_guards | indent(12) }}
|
||||||
conditions.append(dataframe['mfi'] > params['sell-mfi-value'])
|
|
||||||
if 'sell-fastd-enabled' in params and params['sell-fastd-enabled']:
|
|
||||||
conditions.append(dataframe['fastd'] > params['sell-fastd-value'])
|
|
||||||
if 'sell-adx-enabled' in params and params['sell-adx-enabled']:
|
|
||||||
conditions.append(dataframe['adx'] < params['sell-adx-value'])
|
|
||||||
if 'sell-rsi-enabled' in params and params['sell-rsi-enabled']:
|
|
||||||
conditions.append(dataframe['rsi'] > params['sell-rsi-value'])
|
|
||||||
|
|
||||||
# TRIGGERS
|
# TRIGGERS
|
||||||
if 'sell-trigger' in params:
|
if 'sell-trigger' in params:
|
||||||
@ -145,15 +123,5 @@ class {{ hyperopt }}(IHyperOpt):
|
|||||||
Define your Hyperopt space for searching sell strategy parameters.
|
Define your Hyperopt space for searching sell strategy parameters.
|
||||||
"""
|
"""
|
||||||
return [
|
return [
|
||||||
Integer(75, 100, name='sell-mfi-value'),
|
{{ sell_space | indent(12) }}
|
||||||
Integer(50, 100, name='sell-fastd-value'),
|
|
||||||
Integer(50, 100, name='sell-adx-value'),
|
|
||||||
Integer(60, 100, name='sell-rsi-value'),
|
|
||||||
Categorical([True, False], name='sell-mfi-enabled'),
|
|
||||||
Categorical([True, False], name='sell-fastd-enabled'),
|
|
||||||
Categorical([True, False], name='sell-adx-enabled'),
|
|
||||||
Categorical([True, False], name='sell-rsi-enabled'),
|
|
||||||
Categorical(['sell-bb_upper',
|
|
||||||
'sell-macd_cross_signal',
|
|
||||||
'sell-sar_reversal'], name='sell-trigger')
|
|
||||||
]
|
]
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
if params.get('mfi-enabled'):
|
||||||
|
conditions.append(dataframe['mfi'] < params['mfi-value'])
|
||||||
|
if params.get('fastd-enabled'):
|
||||||
|
conditions.append(dataframe['fastd'] < params['fastd-value'])
|
||||||
|
if params.get('adx-enabled'):
|
||||||
|
conditions.append(dataframe['adx'] > params['adx-value'])
|
||||||
|
if params.get('rsi-enabled'):
|
||||||
|
conditions.append(dataframe['rsi'] < params['rsi-value'])
|
@ -0,0 +1,2 @@
|
|||||||
|
if params.get('rsi-enabled'):
|
||||||
|
conditions.append(dataframe['rsi'] < params['rsi-value'])
|
@ -0,0 +1,9 @@
|
|||||||
|
Integer(10, 25, name='mfi-value'),
|
||||||
|
Integer(15, 45, name='fastd-value'),
|
||||||
|
Integer(20, 50, name='adx-value'),
|
||||||
|
Integer(20, 40, name='rsi-value'),
|
||||||
|
Categorical([True, False], name='mfi-enabled'),
|
||||||
|
Categorical([True, False], name='fastd-enabled'),
|
||||||
|
Categorical([True, False], name='adx-enabled'),
|
||||||
|
Categorical([True, False], name='rsi-enabled'),
|
||||||
|
Categorical(['bb_lower', 'macd_cross_signal', 'sar_reversal'], name='trigger')
|
@ -0,0 +1,3 @@
|
|||||||
|
Integer(20, 40, name='rsi-value'),
|
||||||
|
Categorical([True, False], name='rsi-enabled'),
|
||||||
|
Categorical(['bb_lower', 'macd_cross_signal', 'sar_reversal'], name='trigger')
|
@ -0,0 +1,8 @@
|
|||||||
|
if params.get('sell-mfi-enabled'):
|
||||||
|
conditions.append(dataframe['mfi'] > params['sell-mfi-value'])
|
||||||
|
if params.get('sell-fastd-enabled'):
|
||||||
|
conditions.append(dataframe['fastd'] > params['sell-fastd-value'])
|
||||||
|
if params.get('sell-adx-enabled'):
|
||||||
|
conditions.append(dataframe['adx'] < params['sell-adx-value'])
|
||||||
|
if params.get('sell-rsi-enabled'):
|
||||||
|
conditions.append(dataframe['rsi'] > params['sell-rsi-value'])
|
@ -0,0 +1,2 @@
|
|||||||
|
if params.get('sell-rsi-enabled'):
|
||||||
|
conditions.append(dataframe['rsi'] > params['sell-rsi-value'])
|
11
freqtrade/templates/subtemplates/hyperopt_sell_space_full.j2
Normal file
11
freqtrade/templates/subtemplates/hyperopt_sell_space_full.j2
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Integer(75, 100, name='sell-mfi-value'),
|
||||||
|
Integer(50, 100, name='sell-fastd-value'),
|
||||||
|
Integer(50, 100, name='sell-adx-value'),
|
||||||
|
Integer(60, 100, name='sell-rsi-value'),
|
||||||
|
Categorical([True, False], name='sell-mfi-enabled'),
|
||||||
|
Categorical([True, False], name='sell-fastd-enabled'),
|
||||||
|
Categorical([True, False], name='sell-adx-enabled'),
|
||||||
|
Categorical([True, False], name='sell-rsi-enabled'),
|
||||||
|
Categorical(['sell-bb_upper',
|
||||||
|
'sell-macd_cross_signal',
|
||||||
|
'sell-sar_reversal'], name='sell-trigger')
|
@ -0,0 +1,5 @@
|
|||||||
|
Integer(60, 100, name='sell-rsi-value'),
|
||||||
|
Categorical([True, False], name='sell-rsi-enabled'),
|
||||||
|
Categorical(['sell-bb_upper',
|
||||||
|
'sell-macd_cross_signal',
|
||||||
|
'sell-sar_reversal'], name='sell-trigger')
|
@ -136,9 +136,21 @@ def start_new_hyperopt(args: Dict[str, Any]) -> None:
|
|||||||
raise OperationalException(f"`{new_path}` already exists. "
|
raise OperationalException(f"`{new_path}` already exists. "
|
||||||
"Please choose another Strategy Name.")
|
"Please choose another Strategy Name.")
|
||||||
|
|
||||||
|
buy_guards = render_template(
|
||||||
|
templatefile=f"subtemplates/hyperopt_buy_guards_{args['template']}.j2",)
|
||||||
|
sell_guards = render_template(
|
||||||
|
templatefile=f"subtemplates/hyperopt_sell_guards_{args['template']}.j2",)
|
||||||
|
buy_space = render_template(
|
||||||
|
templatefile=f"subtemplates/hyperopt_buy_space_{args['template']}.j2",)
|
||||||
|
sell_space = render_template(
|
||||||
|
templatefile=f"subtemplates/hyperopt_sell_space_{args['template']}.j2",)
|
||||||
|
|
||||||
strategy_text = render_template(templatefile='base_hyperopt.py.j2',
|
strategy_text = render_template(templatefile='base_hyperopt.py.j2',
|
||||||
arguments={"hyperopt": args["hyperopt"],
|
arguments={"hyperopt": args["hyperopt"],
|
||||||
"subtemplates": args['template']
|
"buy_guards": buy_guards,
|
||||||
|
"sell_guards": sell_guards,
|
||||||
|
"buy_space": buy_space,
|
||||||
|
"sell_space": sell_space,
|
||||||
})
|
})
|
||||||
|
|
||||||
logger.info(f"Writing hyperopt to `{new_path}`.")
|
logger.info(f"Writing hyperopt to `{new_path}`.")
|
||||||
|
Loading…
Reference in New Issue
Block a user