Remove staticmethod - fix resample bug

This commit is contained in:
Matthias
2019-04-16 20:24:02 +02:00
parent 207fe5ee33
commit ad2dc73fce
4 changed files with 15 additions and 21 deletions
@@ -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')
@@ -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')
@@ -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')
@@ -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')