diff --git a/freqtrade/analyze.py b/freqtrade/analyze.py index 657ffb14e..11baa8558 100644 --- a/freqtrade/analyze.py +++ b/freqtrade/analyze.py @@ -40,6 +40,7 @@ def populate_indicators(dataframe: DataFrame) -> DataFrame: dataframe['sma'] = ta.SMA(dataframe, timeperiod=40) dataframe['tema'] = ta.TEMA(dataframe, timeperiod=9) dataframe['mfi'] = ta.MFI(dataframe) + dataframe['cci'] = ta.CCI(dataframe) return dataframe diff --git a/freqtrade/tests/test_hyperopt.py b/freqtrade/tests/test_hyperopt.py index b32dda382..89531d516 100644 --- a/freqtrade/tests/test_hyperopt.py +++ b/freqtrade/tests/test_hyperopt.py @@ -93,6 +93,8 @@ def buy_strategy_generator(params): conditions.append(dataframe['fastd'] < params['fastd']['value']) if params['adx']['enabled']: conditions.append(dataframe['adx'] > params['adx']['value']) + if params['cci']['enabled']: + conditions.append(dataframe['cci'] < params['cci']['value']) if params['over_sar']['enabled']: conditions.append(dataframe['close'] > dataframe['sar']) dataframe.loc[ @@ -122,6 +124,10 @@ def test_hyperopt(conf, pairs, mocker): {'enabled': False}, {'enabled': True, 'value': hp.uniform('adx-value', 2, 40)} ]), + 'cci': hp.choice('cci', [ + {'enabled': False}, + {'enabled': True, 'value': hp.uniform('cci-value', -200, -100)} + ]), 'below_sma': hp.choice('below_sma', [ {'enabled': False}, {'enabled': True}