Reverted freqtrade/templates/*hyperopt* files back to no shorting

This commit is contained in:
Sam Germain 2021-08-23 00:18:15 -06:00
parent 53b51ce8cf
commit 61ad38500a
2 changed files with 2 additions and 104 deletions

View File

@ -55,10 +55,6 @@ class SampleHyperOpt(IHyperOpt):
Integer(15, 45, name='fastd-value'), Integer(15, 45, name='fastd-value'),
Integer(20, 50, name='adx-value'), Integer(20, 50, name='adx-value'),
Integer(20, 40, name='rsi-value'), Integer(20, 40, name='rsi-value'),
Integer(75, 90, name='short-mfi-value'),
Integer(55, 85, name='short-fastd-value'),
Integer(50, 80, name='short-adx-value'),
Integer(60, 80, name='short-rsi-value'),
Categorical([True, False], name='mfi-enabled'), Categorical([True, False], name='mfi-enabled'),
Categorical([True, False], name='fastd-enabled'), Categorical([True, False], name='fastd-enabled'),
Categorical([True, False], name='adx-enabled'), Categorical([True, False], name='adx-enabled'),
@ -76,60 +72,40 @@ class SampleHyperOpt(IHyperOpt):
Buy strategy Hyperopt will build and use. Buy strategy Hyperopt will build and use.
""" """
long_conditions = [] long_conditions = []
short_conditions = []
# GUARDS AND TRENDS # GUARDS AND TRENDS
if 'mfi-enabled' in params and params['mfi-enabled']: if 'mfi-enabled' in params and params['mfi-enabled']:
long_conditions.append(dataframe['mfi'] < params['mfi-value']) long_conditions.append(dataframe['mfi'] < params['mfi-value'])
short_conditions.append(dataframe['mfi'] > params['short-mfi-value'])
if 'fastd-enabled' in params and params['fastd-enabled']: if 'fastd-enabled' in params and params['fastd-enabled']:
long_conditions.append(dataframe['fastd'] < params['fastd-value']) long_conditions.append(dataframe['fastd'] < params['fastd-value'])
short_conditions.append(dataframe['fastd'] > params['short-fastd-value'])
if 'adx-enabled' in params and params['adx-enabled']: if 'adx-enabled' in params and params['adx-enabled']:
long_conditions.append(dataframe['adx'] > params['adx-value']) long_conditions.append(dataframe['adx'] > params['adx-value'])
short_conditions.append(dataframe['adx'] < params['short-adx-value'])
if 'rsi-enabled' in params and params['rsi-enabled']: if 'rsi-enabled' in params and params['rsi-enabled']:
long_conditions.append(dataframe['rsi'] < params['rsi-value']) long_conditions.append(dataframe['rsi'] < params['rsi-value'])
short_conditions.append(dataframe['rsi'] > params['short-rsi-value'])
# TRIGGERS # TRIGGERS
if 'trigger' in params: if 'trigger' in params:
if params['trigger'] == 'boll': if params['trigger'] == 'boll':
long_conditions.append(dataframe['close'] < dataframe['bb_lowerband']) long_conditions.append(dataframe['close'] < dataframe['bb_lowerband'])
short_conditions.append(dataframe['close'] > dataframe['bb_upperband'])
if params['trigger'] == 'macd_cross_signal': if params['trigger'] == 'macd_cross_signal':
long_conditions.append(qtpylib.crossed_above( long_conditions.append(qtpylib.crossed_above(
dataframe['macd'], dataframe['macd'],
dataframe['macdsignal'] dataframe['macdsignal']
)) ))
short_conditions.append(qtpylib.crossed_below(
dataframe['macd'],
dataframe['macdsignal']
))
if params['trigger'] == 'sar_reversal': if params['trigger'] == 'sar_reversal':
long_conditions.append(qtpylib.crossed_above( long_conditions.append(qtpylib.crossed_above(
dataframe['close'], dataframe['close'],
dataframe['sar'] dataframe['sar']
)) ))
short_conditions.append(qtpylib.crossed_below(
dataframe['close'],
dataframe['sar']
))
# Check that volume is not 0 # Check that volume is not 0
long_conditions.append(dataframe['volume'] > 0) long_conditions.append(dataframe['volume'] > 0)
short_conditions.append(dataframe['volume'] > 0)
if long_conditions: if long_conditions:
dataframe.loc[ dataframe.loc[
reduce(lambda x, y: x & y, long_conditions), reduce(lambda x, y: x & y, long_conditions),
'buy'] = 1 'buy'] = 1
if short_conditions:
dataframe.loc[
reduce(lambda x, y: x & y, short_conditions),
'enter_short'] = 1
return dataframe return dataframe
return populate_buy_trend return populate_buy_trend
@ -144,10 +120,6 @@ class SampleHyperOpt(IHyperOpt):
Integer(50, 100, name='sell-fastd-value'), Integer(50, 100, name='sell-fastd-value'),
Integer(50, 100, name='sell-adx-value'), Integer(50, 100, name='sell-adx-value'),
Integer(60, 100, name='sell-rsi-value'), Integer(60, 100, name='sell-rsi-value'),
Integer(1, 25, name='exit-short-mfi-value'),
Integer(1, 50, name='exit-short-fastd-value'),
Integer(1, 50, name='exit-short-adx-value'),
Integer(1, 40, name='exit-short-rsi-value'),
Categorical([True, False], name='sell-mfi-enabled'), Categorical([True, False], name='sell-mfi-enabled'),
Categorical([True, False], name='sell-fastd-enabled'), Categorical([True, False], name='sell-fastd-enabled'),
Categorical([True, False], name='sell-adx-enabled'), Categorical([True, False], name='sell-adx-enabled'),
@ -169,60 +141,40 @@ class SampleHyperOpt(IHyperOpt):
Sell strategy Hyperopt will build and use. Sell strategy Hyperopt will build and use.
""" """
exit_long_conditions = [] exit_long_conditions = []
exit_short_conditions = []
# GUARDS AND TRENDS # GUARDS AND TRENDS
if 'sell-mfi-enabled' in params and params['sell-mfi-enabled']: if 'sell-mfi-enabled' in params and params['sell-mfi-enabled']:
exit_long_conditions.append(dataframe['mfi'] > params['sell-mfi-value']) exit_long_conditions.append(dataframe['mfi'] > params['sell-mfi-value'])
exit_short_conditions.append(dataframe['mfi'] < params['exit-short-mfi-value'])
if 'sell-fastd-enabled' in params and params['sell-fastd-enabled']: if 'sell-fastd-enabled' in params and params['sell-fastd-enabled']:
exit_long_conditions.append(dataframe['fastd'] > params['sell-fastd-value']) exit_long_conditions.append(dataframe['fastd'] > params['sell-fastd-value'])
exit_short_conditions.append(dataframe['fastd'] < params['exit-short-fastd-value'])
if 'sell-adx-enabled' in params and params['sell-adx-enabled']: if 'sell-adx-enabled' in params and params['sell-adx-enabled']:
exit_long_conditions.append(dataframe['adx'] < params['sell-adx-value']) exit_long_conditions.append(dataframe['adx'] < params['sell-adx-value'])
exit_short_conditions.append(dataframe['adx'] > params['exit-short-adx-value'])
if 'sell-rsi-enabled' in params and params['sell-rsi-enabled']: if 'sell-rsi-enabled' in params and params['sell-rsi-enabled']:
exit_long_conditions.append(dataframe['rsi'] > params['sell-rsi-value']) exit_long_conditions.append(dataframe['rsi'] > params['sell-rsi-value'])
exit_short_conditions.append(dataframe['rsi'] < params['exit-short-rsi-value'])
# TRIGGERS # TRIGGERS
if 'sell-trigger' in params: if 'sell-trigger' in params:
if params['sell-trigger'] == 'sell-boll': if params['sell-trigger'] == 'sell-boll':
exit_long_conditions.append(dataframe['close'] > dataframe['bb_upperband']) exit_long_conditions.append(dataframe['close'] > dataframe['bb_upperband'])
exit_short_conditions.append(dataframe['close'] < dataframe['bb_lowerband'])
if params['sell-trigger'] == 'sell-macd_cross_signal': if params['sell-trigger'] == 'sell-macd_cross_signal':
exit_long_conditions.append(qtpylib.crossed_above( exit_long_conditions.append(qtpylib.crossed_above(
dataframe['macdsignal'], dataframe['macdsignal'],
dataframe['macd'] dataframe['macd']
)) ))
exit_short_conditions.append(qtpylib.crossed_below(
dataframe['macdsignal'],
dataframe['macd']
))
if params['sell-trigger'] == 'sell-sar_reversal': if params['sell-trigger'] == 'sell-sar_reversal':
exit_long_conditions.append(qtpylib.crossed_above( exit_long_conditions.append(qtpylib.crossed_above(
dataframe['sar'], dataframe['sar'],
dataframe['close'] dataframe['close']
)) ))
exit_short_conditions.append(qtpylib.crossed_below(
dataframe['sar'],
dataframe['close']
))
# Check that volume is not 0 # Check that volume is not 0
exit_long_conditions.append(dataframe['volume'] > 0) exit_long_conditions.append(dataframe['volume'] > 0)
exit_short_conditions.append(dataframe['volume'] > 0)
if exit_long_conditions: if exit_long_conditions:
dataframe.loc[ dataframe.loc[
reduce(lambda x, y: x & y, exit_long_conditions), reduce(lambda x, y: x & y, exit_long_conditions),
'sell'] = 1 'sell'] = 1
if exit_short_conditions:
dataframe.loc[
reduce(lambda x, y: x & y, exit_short_conditions),
'exit_short'] = 1
return dataframe return dataframe
return populate_sell_trend return populate_sell_trend

View File

@ -70,10 +70,6 @@ class AdvancedSampleHyperOpt(IHyperOpt):
Integer(15, 45, name='fastd-value'), Integer(15, 45, name='fastd-value'),
Integer(20, 50, name='adx-value'), Integer(20, 50, name='adx-value'),
Integer(20, 40, name='rsi-value'), Integer(20, 40, name='rsi-value'),
Integer(75, 90, name='short-mfi-value'),
Integer(55, 85, name='short-fastd-value'),
Integer(50, 80, name='short-adx-value'),
Integer(60, 80, name='short-rsi-value'),
Categorical([True, False], name='mfi-enabled'), Categorical([True, False], name='mfi-enabled'),
Categorical([True, False], name='fastd-enabled'), Categorical([True, False], name='fastd-enabled'),
Categorical([True, False], name='adx-enabled'), Categorical([True, False], name='adx-enabled'),
@ -91,59 +87,37 @@ class AdvancedSampleHyperOpt(IHyperOpt):
Buy strategy Hyperopt will build and use Buy strategy Hyperopt will build and use
""" """
long_conditions = [] long_conditions = []
short_conditions = []
# GUARDS AND TRENDS # GUARDS AND TRENDS
if 'mfi-enabled' in params and params['mfi-enabled']: if 'mfi-enabled' in params and params['mfi-enabled']:
long_conditions.append(dataframe['mfi'] < params['mfi-value']) long_conditions.append(dataframe['mfi'] < params['mfi-value'])
short_conditions.append(dataframe['mfi'] > params['short-mfi-value'])
if 'fastd-enabled' in params and params['fastd-enabled']: if 'fastd-enabled' in params and params['fastd-enabled']:
long_conditions.append(dataframe['fastd'] < params['fastd-value']) long_conditions.append(dataframe['fastd'] < params['fastd-value'])
short_conditions.append(dataframe['fastd'] > params['short-fastd-value'])
if 'adx-enabled' in params and params['adx-enabled']: if 'adx-enabled' in params and params['adx-enabled']:
long_conditions.append(dataframe['adx'] > params['adx-value']) long_conditions.append(dataframe['adx'] > params['adx-value'])
short_conditions.append(dataframe['adx'] < params['short-adx-value'])
if 'rsi-enabled' in params and params['rsi-enabled']: if 'rsi-enabled' in params and params['rsi-enabled']:
long_conditions.append(dataframe['rsi'] < params['rsi-value']) long_conditions.append(dataframe['rsi'] < params['rsi-value'])
short_conditions.append(dataframe['rsi'] > params['short-rsi-value'])
# TRIGGERS # TRIGGERS
if 'trigger' in params: if 'trigger' in params:
if params['trigger'] == 'boll': if params['trigger'] == 'boll':
long_conditions.append(dataframe['close'] < dataframe['bb_lowerband']) long_conditions.append(dataframe['close'] < dataframe['bb_lowerband'])
short_conditions.append(dataframe['close'] > dataframe['bb_upperband'])
if params['trigger'] == 'macd_cross_signal': if params['trigger'] == 'macd_cross_signal':
long_conditions.append(qtpylib.crossed_above( long_conditions.append(qtpylib.crossed_above(
dataframe['macd'], dataframe['macd'], dataframe['macdsignal']
dataframe['macdsignal']
))
short_conditions.append(qtpylib.crossed_below(
dataframe['macd'],
dataframe['macdsignal']
)) ))
if params['trigger'] == 'sar_reversal': if params['trigger'] == 'sar_reversal':
long_conditions.append(qtpylib.crossed_above( long_conditions.append(qtpylib.crossed_above(
dataframe['close'], dataframe['close'], dataframe['sar']
dataframe['sar']
))
short_conditions.append(qtpylib.crossed_below(
dataframe['close'],
dataframe['sar']
)) ))
# Check that volume is not 0 # Check that volume is not 0
long_conditions.append(dataframe['volume'] > 0) long_conditions.append(dataframe['volume'] > 0)
short_conditions.append(dataframe['volume'] > 0)
if long_conditions: if long_conditions:
dataframe.loc[ dataframe.loc[
reduce(lambda x, y: x & y, long_conditions), reduce(lambda x, y: x & y, long_conditions),
'buy'] = 1 'buy'] = 1
if short_conditions:
dataframe.loc[
reduce(lambda x, y: x & y, short_conditions),
'enter_short'] = 1
return dataframe return dataframe
return populate_buy_trend return populate_buy_trend
@ -158,10 +132,6 @@ class AdvancedSampleHyperOpt(IHyperOpt):
Integer(50, 100, name='sell-fastd-value'), Integer(50, 100, name='sell-fastd-value'),
Integer(50, 100, name='sell-adx-value'), Integer(50, 100, name='sell-adx-value'),
Integer(60, 100, name='sell-rsi-value'), Integer(60, 100, name='sell-rsi-value'),
Integer(1, 25, name='exit_short-mfi-value'),
Integer(1, 50, name='exit_short-fastd-value'),
Integer(1, 50, name='exit_short-adx-value'),
Integer(1, 40, name='exit_short-rsi-value'),
Categorical([True, False], name='sell-mfi-enabled'), Categorical([True, False], name='sell-mfi-enabled'),
Categorical([True, False], name='sell-fastd-enabled'), Categorical([True, False], name='sell-fastd-enabled'),
Categorical([True, False], name='sell-adx-enabled'), Categorical([True, False], name='sell-adx-enabled'),
@ -183,59 +153,39 @@ class AdvancedSampleHyperOpt(IHyperOpt):
""" """
# print(params) # print(params)
exit_long_conditions = [] exit_long_conditions = []
exit_short_conditions = []
# GUARDS AND TRENDS # GUARDS AND TRENDS
if 'sell-mfi-enabled' in params and params['sell-mfi-enabled']: if 'sell-mfi-enabled' in params and params['sell-mfi-enabled']:
exit_long_conditions.append(dataframe['mfi'] > params['sell-mfi-value']) exit_long_conditions.append(dataframe['mfi'] > params['sell-mfi-value'])
exit_short_conditions.append(dataframe['mfi'] < params['exit-short-mfi-value'])
if 'sell-fastd-enabled' in params and params['sell-fastd-enabled']: if 'sell-fastd-enabled' in params and params['sell-fastd-enabled']:
exit_long_conditions.append(dataframe['fastd'] > params['sell-fastd-value']) exit_long_conditions.append(dataframe['fastd'] > params['sell-fastd-value'])
exit_short_conditions.append(dataframe['fastd'] < params['exit-short-fastd-value'])
if 'sell-adx-enabled' in params and params['sell-adx-enabled']: if 'sell-adx-enabled' in params and params['sell-adx-enabled']:
exit_long_conditions.append(dataframe['adx'] < params['sell-adx-value']) exit_long_conditions.append(dataframe['adx'] < params['sell-adx-value'])
exit_short_conditions.append(dataframe['adx'] > params['exit-short-adx-value'])
if 'sell-rsi-enabled' in params and params['sell-rsi-enabled']: if 'sell-rsi-enabled' in params and params['sell-rsi-enabled']:
exit_long_conditions.append(dataframe['rsi'] > params['sell-rsi-value']) exit_long_conditions.append(dataframe['rsi'] > params['sell-rsi-value'])
exit_short_conditions.append(dataframe['rsi'] < params['exit-short-rsi-value'])
# TRIGGERS # TRIGGERS
if 'sell-trigger' in params: if 'sell-trigger' in params:
if params['sell-trigger'] == 'sell-boll': if params['sell-trigger'] == 'sell-boll':
exit_long_conditions.append(dataframe['close'] > dataframe['bb_upperband']) exit_long_conditions.append(dataframe['close'] > dataframe['bb_upperband'])
exit_short_conditions.append(dataframe['close'] < dataframe['bb_lowerband'])
if params['sell-trigger'] == 'sell-macd_cross_signal': if params['sell-trigger'] == 'sell-macd_cross_signal':
exit_long_conditions.append(qtpylib.crossed_above( exit_long_conditions.append(qtpylib.crossed_above(
dataframe['macdsignal'], dataframe['macdsignal'],
dataframe['macd'] dataframe['macd']
)) ))
exit_long_conditions.append(qtpylib.crossed_below(
dataframe['macdsignal'],
dataframe['macd']
))
if params['sell-trigger'] == 'sell-sar_reversal': if params['sell-trigger'] == 'sell-sar_reversal':
exit_long_conditions.append(qtpylib.crossed_above( exit_long_conditions.append(qtpylib.crossed_above(
dataframe['sar'], dataframe['sar'],
dataframe['close'] dataframe['close']
)) ))
exit_long_conditions.append(qtpylib.crossed_below(
dataframe['sar'],
dataframe['close']
))
# Check that volume is not 0 # Check that volume is not 0
exit_long_conditions.append(dataframe['volume'] > 0) exit_long_conditions.append(dataframe['volume'] > 0)
exit_short_conditions.append(dataframe['volume'] > 0)
if exit_long_conditions: if exit_long_conditions:
dataframe.loc[ dataframe.loc[
reduce(lambda x, y: x & y, exit_long_conditions), reduce(lambda x, y: x & y, exit_long_conditions),
'sell'] = 1 'sell'] = 1
if exit_short_conditions:
dataframe.loc[
reduce(lambda x, y: x & y, exit_short_conditions),
'exit_short'] = 1
return dataframe return dataframe
return populate_sell_trend return populate_sell_trend
@ -243,7 +193,6 @@ class AdvancedSampleHyperOpt(IHyperOpt):
@staticmethod @staticmethod
def generate_roi_table(params: Dict) -> Dict[int, float]: def generate_roi_table(params: Dict) -> Dict[int, float]:
""" """
# TODO-lev?
Generate the ROI table that will be used by Hyperopt Generate the ROI table that will be used by Hyperopt
This implementation generates the default legacy Freqtrade ROI tables. This implementation generates the default legacy Freqtrade ROI tables.
@ -265,7 +214,6 @@ class AdvancedSampleHyperOpt(IHyperOpt):
@staticmethod @staticmethod
def roi_space() -> List[Dimension]: def roi_space() -> List[Dimension]:
""" """
# TODO-lev?
Values to search for each ROI steps Values to search for each ROI steps
Override it if you need some different ranges for the parameters in the Override it if you need some different ranges for the parameters in the
@ -286,7 +234,6 @@ class AdvancedSampleHyperOpt(IHyperOpt):
@staticmethod @staticmethod
def stoploss_space() -> List[Dimension]: def stoploss_space() -> List[Dimension]:
""" """
# TODO-lev?
Stoploss Value to search Stoploss Value to search
Override it if you need some different range for the parameter in the Override it if you need some different range for the parameter in the
@ -299,7 +246,6 @@ class AdvancedSampleHyperOpt(IHyperOpt):
@staticmethod @staticmethod
def trailing_space() -> List[Dimension]: def trailing_space() -> List[Dimension]:
""" """
# TODO-lev?
Create a trailing stoploss space. Create a trailing stoploss space.
You may override it in your custom Hyperopt class. You may override it in your custom Hyperopt class.