diff --git a/user_data/strategies/berlinguyinca/CCIStrategy.py b/user_data/strategies/berlinguyinca/CCIStrategy.py index 839b812..0ea39da 100644 --- a/user_data/strategies/berlinguyinca/CCIStrategy.py +++ b/user_data/strategies/berlinguyinca/CCIStrategy.py @@ -24,8 +24,7 @@ class CCIStrategy(IStrategy): ticker_interval = '1m' def populate_indicators(self, dataframe: DataFrame) -> DataFrame: - macd = ta.MACD(dataframe) - dataframe = CCIStrategy.resample(dataframe, self.ticker_interval, 5) + dataframe = self.resample(dataframe, self.ticker_interval, 5) dataframe['cci_one'] = ta.CCI(dataframe, timeperiod=170) dataframe['cci_two'] = ta.CCI(dataframe, timeperiod=34) @@ -95,8 +94,7 @@ class CCIStrategy(IStrategy): return Series(cmf, name='cmf') - @staticmethod - def resample(dataframe, interval, factor): + def resample(self, dataframe, interval, factor): # defines the reinforcement logic # resampled dataframe to establish if we are in an uptrend, downtrend or sideways trend df = dataframe.copy() @@ -107,7 +105,7 @@ class CCIStrategy(IStrategy): 'low': 'min', 'close': 'last' } - df = df.resample(str(int(interval[:-1]) * factor) + 'min').agg(ohlc_dict) + df = df.resample(str(int(interval[:-1]) * factor) + 'min', label="right").agg(ohlc_dict) df['resample_sma'] = ta.SMA(df, timeperiod=100, price='close') df['resample_medium'] = ta.SMA(df, timeperiod=50, price='close') df['resample_short'] = ta.SMA(df, timeperiod=25, price='close') diff --git a/user_data/strategies/berlinguyinca/ReinforcedAverageStrategy.py b/user_data/strategies/berlinguyinca/ReinforcedAverageStrategy.py index 042e7bc..cc36ff5 100644 --- a/user_data/strategies/berlinguyinca/ReinforcedAverageStrategy.py +++ b/user_data/strategies/berlinguyinca/ReinforcedAverageStrategy.py @@ -32,7 +32,6 @@ class ReinforcedAverageStrategy(IStrategy): ticker_interval = '4h' def populate_indicators(self, dataframe: DataFrame) -> DataFrame: - macd = ta.MACD(dataframe) dataframe['maShort'] = ta.EMA(dataframe, timeperiod=8) dataframe['maMedium'] = ta.EMA(dataframe, timeperiod=21) @@ -50,7 +49,7 @@ class ReinforcedAverageStrategy(IStrategy): :param dataframe: DataFrame :return: DataFrame with buy column """ - dataframe = ReinforcedAverageStrategy.resample(dataframe, self.ticker_interval, 12) + dataframe = self.resample(dataframe, self.ticker_interval, 12) dataframe.loc[ ( @@ -74,9 +73,7 @@ class ReinforcedAverageStrategy(IStrategy): 'sell'] = 1 return dataframe - @staticmethod - def resample( dataframe, interval, factor): - + def resample(self, dataframe, interval, factor): # defines the reinforcement logic # resampled dataframe to establish if we are in an uptrend, downtrend or sideways trend @@ -88,7 +85,8 @@ class ReinforcedAverageStrategy(IStrategy): 'low': 'min', 'close': 'last' } - df = df.resample(str(int(interval[:-1]) * factor) + 'min').agg(ohlc_dict) + df = df.resample(str(int(interval[:-1]) * factor) + 'min', + label="right").agg(ohlc_dict).dropna(how='any') df['resample_sma'] = ta.SMA(df, timeperiod=50, price='close') df = df.drop(columns=['open', 'high', 'low', 'close']) df = df.resample(interval[:-1] + 'min') diff --git a/user_data/strategies/berlinguyinca/ReinforcedQuickie.py b/user_data/strategies/berlinguyinca/ReinforcedQuickie.py index 29026e7..f622acf 100644 --- a/user_data/strategies/berlinguyinca/ReinforcedQuickie.py +++ b/user_data/strategies/berlinguyinca/ReinforcedQuickie.py @@ -48,7 +48,7 @@ class ReinforcedQuickie(IStrategy): EMA_LONG_TERM = 21 def populate_indicators(self, dataframe: DataFrame) -> DataFrame: - dataframe = ReinforcedQuickie.resample(dataframe, self.ticker_interval, self.resample_factor) + dataframe = self.resample(dataframe, self.ticker_interval, self.resample_factor) ################################################################################## # buy and sell indicators @@ -171,8 +171,7 @@ class ReinforcedQuickie(IStrategy): ] = 1 return dataframe - @staticmethod - def resample( dataframe, interval, factor): + def resample(self, dataframe, interval, factor): # defines the reinforcement logic # resampled dataframe to establish if we are in an uptrend, downtrend or sideways trend df = dataframe.copy() @@ -183,8 +182,8 @@ class ReinforcedQuickie(IStrategy): 'low': 'min', 'close': 'last' } - df = df.resample(str(int(interval[:-1]) * factor) + 'min', how=ohlc_dict).dropna( - how='any') + df = df.resample(str(int(interval[:-1]) * factor) + 'min', + label="right").agg(ohlc_dict).dropna(how='any') df['resample_sma'] = ta.SMA(df, timeperiod=25, price='close') df = df.drop(columns=['open', 'high', 'low', 'close']) df = df.resample(interval[:-1] + 'min') diff --git a/user_data/strategies/berlinguyinca/ReinforcedSmoothScalp.py b/user_data/strategies/berlinguyinca/ReinforcedSmoothScalp.py index 881fead..b540edb 100644 --- a/user_data/strategies/berlinguyinca/ReinforcedSmoothScalp.py +++ b/user_data/strategies/berlinguyinca/ReinforcedSmoothScalp.py @@ -40,7 +40,7 @@ class ReinforcedSmoothScalp(IStrategy): resample_factor = 5 def populate_indicators(self, dataframe: DataFrame) -> DataFrame: - dataframe = ReinforcedSmoothScalp.resample(dataframe, self.ticker_interval, self.resample_factor) + dataframe = self.resample(dataframe, self.ticker_interval, self.resample_factor) dataframe['ema_high'] = ta.EMA(dataframe, timeperiod=5, price='high') dataframe['ema_close'] = ta.EMA(dataframe, timeperiod=5, price='close') @@ -103,8 +103,7 @@ class ReinforcedSmoothScalp(IStrategy): 'sell'] = 1 return dataframe - @staticmethod - def resample(dataframe, interval, factor): + def resample(self, dataframe, interval, factor): # defines the reinforcement logic # resampled dataframe to establish if we are in an uptrend, downtrend or sideways trend df = dataframe.copy() @@ -115,8 +114,8 @@ class ReinforcedSmoothScalp(IStrategy): 'low': 'min', 'close': 'last' } - df = df.resample(str(int(interval[:-1]) * factor) + 'min', how=ohlc_dict).dropna( - how='any') + df = df.resample(str(int(interval[:-1]) * factor) + 'min', + label="right").agg(ohlc_dict).dropna(how='any') df['resample_sma'] = ta.SMA(df, timeperiod=50, price='close') df = df.drop(columns=['open', 'high', 'low', 'close']) df = df.resample(interval[:-1] + 'min')