diff --git a/user_data/strategies/berlinguyinca/ADXMomentum.py b/user_data/strategies/berlinguyinca/ADXMomentum.py index 5a382fe..f47bef9 100644 --- a/user_data/strategies/berlinguyinca/ADXMomentum.py +++ b/user_data/strategies/berlinguyinca/ADXMomentum.py @@ -31,7 +31,7 @@ class ADXMomentum(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '1h' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe['adx'] = ta.ADX(dataframe, timeperiod=14) dataframe['plus_di'] = ta.PLUS_DI(dataframe, timeperiod=25) dataframe['minus_di'] = ta.MINUS_DI(dataframe, timeperiod=25) @@ -40,7 +40,7 @@ class ADXMomentum(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( (dataframe['adx'] > 25) & @@ -52,7 +52,7 @@ class ADXMomentum(IStrategy): 'buy'] = 1 return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( (dataframe['adx'] > 25) & diff --git a/user_data/strategies/berlinguyinca/ASDTSRockwellTrading.py b/user_data/strategies/berlinguyinca/ASDTSRockwellTrading.py index d13c35c..b970443 100644 --- a/user_data/strategies/berlinguyinca/ASDTSRockwellTrading.py +++ b/user_data/strategies/berlinguyinca/ASDTSRockwellTrading.py @@ -47,7 +47,7 @@ class ASDTSRockwellTrading(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '5m' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: macd = ta.MACD(dataframe) dataframe['macd'] = macd['macd'] @@ -56,7 +56,7 @@ class ASDTSRockwellTrading(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the buy signal for the given dataframe :param dataframe: DataFrame @@ -71,7 +71,7 @@ class ASDTSRockwellTrading(IStrategy): return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the sell signal for the given dataframe :param dataframe: DataFrame diff --git a/user_data/strategies/berlinguyinca/AdxSmas.py b/user_data/strategies/berlinguyinca/AdxSmas.py index eb1d936..4faf842 100644 --- a/user_data/strategies/berlinguyinca/AdxSmas.py +++ b/user_data/strategies/berlinguyinca/AdxSmas.py @@ -32,14 +32,14 @@ class AdxSmas(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '1h' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe['adx'] = ta.ADX(dataframe, timeperiod=14) dataframe['short'] = ta.SMA(dataframe, timeperiod=3) dataframe['long'] = ta.SMA(dataframe, timeperiod=6) return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( (dataframe['adx'] > 25) & @@ -49,7 +49,7 @@ class AdxSmas(IStrategy): 'buy'] = 1 return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( (dataframe['adx'] < 25) & diff --git a/user_data/strategies/berlinguyinca/AverageStrategy.py b/user_data/strategies/berlinguyinca/AverageStrategy.py index 8f249d1..3a32e90 100644 --- a/user_data/strategies/berlinguyinca/AverageStrategy.py +++ b/user_data/strategies/berlinguyinca/AverageStrategy.py @@ -31,7 +31,7 @@ class AverageStrategy(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '4h' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: macd = ta.MACD(dataframe) dataframe['maShort'] = ta.EMA(dataframe, timeperiod=8) @@ -39,7 +39,7 @@ class AverageStrategy(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the buy signal for the given dataframe :param dataframe: DataFrame @@ -53,7 +53,7 @@ class AverageStrategy(IStrategy): return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the sell signal for the given dataframe :param dataframe: DataFrame diff --git a/user_data/strategies/berlinguyinca/AwesomeMacd.py b/user_data/strategies/berlinguyinca/AwesomeMacd.py index e701244..5942665 100644 --- a/user_data/strategies/berlinguyinca/AwesomeMacd.py +++ b/user_data/strategies/berlinguyinca/AwesomeMacd.py @@ -32,7 +32,7 @@ class AwesomeMacd(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '1h' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe['adx'] = ta.ADX(dataframe, timeperiod=14) dataframe['ao'] = qtpylib.awesome_oscillator(dataframe) @@ -43,7 +43,7 @@ class AwesomeMacd(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( (dataframe['macd'] > 0) & @@ -54,7 +54,7 @@ class AwesomeMacd(IStrategy): 'buy'] = 1 return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( (dataframe['macd'] < 0) & diff --git a/user_data/strategies/berlinguyinca/BbandRsi.py b/user_data/strategies/berlinguyinca/BbandRsi.py index 4d84329..797b6e3 100644 --- a/user_data/strategies/berlinguyinca/BbandRsi.py +++ b/user_data/strategies/berlinguyinca/BbandRsi.py @@ -32,7 +32,7 @@ class BbandRsi(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '1h' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe['rsi'] = ta.RSI(dataframe, timeperiod=14) # Bollinger bands @@ -43,7 +43,7 @@ class BbandRsi(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( (dataframe['rsi'] < 30) & @@ -53,7 +53,7 @@ class BbandRsi(IStrategy): 'buy'] = 1 return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( (dataframe['rsi'] > 70) diff --git a/user_data/strategies/berlinguyinca/BinHV27.py b/user_data/strategies/berlinguyinca/BinHV27.py index acf110d..49b51cb 100644 --- a/user_data/strategies/berlinguyinca/BinHV27.py +++ b/user_data/strategies/berlinguyinca/BinHV27.py @@ -28,7 +28,7 @@ class BinHV27(IStrategy): } stoploss = -0.50 ticker_interval = '5m' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe['rsi'] = numpy.nan_to_num(ta.RSI(dataframe, timeperiod=5)) rsiframe = DataFrame(dataframe['rsi']).rename(columns={'rsi': 'close'}) dataframe['emarsi'] = numpy.nan_to_num(ta.EMA(rsiframe, timeperiod=5)) @@ -52,7 +52,7 @@ class BinHV27(IStrategy): dataframe['delta'] = dataframe['fastsma'] - dataframe['fastsma'].shift() dataframe['slowingdown'] = dataframe['delta'].lt(dataframe['delta'].shift()) return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ dataframe['slowsma'].gt(0) & dataframe['close'].lt(dataframe['highsma']) & @@ -89,7 +89,7 @@ class BinHV27(IStrategy): ), 'buy'] = 1 return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: buyframe = dataframe[dataframe['buy'] == 1].tail(1) if len(buyframe) == 0: dataframe.loc[[False], 'sell'] = 0 diff --git a/user_data/strategies/berlinguyinca/BinHV45.py b/user_data/strategies/berlinguyinca/BinHV45.py index 24d7350..a39d9ed 100644 --- a/user_data/strategies/berlinguyinca/BinHV45.py +++ b/user_data/strategies/berlinguyinca/BinHV45.py @@ -25,7 +25,7 @@ class BinHV45(IStrategy): stoploss = -0.05 ticker_interval = '1m' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: mid, lower = bollinger_bands(dataframe['close'], window_size=40, num_of_std=2) dataframe['mid'] = np.nan_to_num(mid) dataframe['lower'] = np.nan_to_num(lower) @@ -35,7 +35,7 @@ class BinHV45(IStrategy): dataframe['tail'] = (dataframe['close'] - dataframe['low']).abs() return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( dataframe['lower'].shift().gt(0) & @@ -48,7 +48,7 @@ class BinHV45(IStrategy): 'buy'] = 1 return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ no sell signal """ diff --git a/user_data/strategies/berlinguyinca/CCIStrategy.py b/user_data/strategies/berlinguyinca/CCIStrategy.py index 0ea39da..d0b91ae 100644 --- a/user_data/strategies/berlinguyinca/CCIStrategy.py +++ b/user_data/strategies/berlinguyinca/CCIStrategy.py @@ -23,7 +23,7 @@ class CCIStrategy(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '1m' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe = self.resample(dataframe, self.ticker_interval, 5) dataframe['cci_one'] = ta.CCI(dataframe, timeperiod=170) @@ -41,7 +41,7 @@ class CCIStrategy(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the buy signal for the given dataframe :param dataframe: DataFrame @@ -63,7 +63,7 @@ class CCIStrategy(IStrategy): return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the sell signal for the given dataframe :param dataframe: DataFrame diff --git a/user_data/strategies/berlinguyinca/CMCWinner.py b/user_data/strategies/berlinguyinca/CMCWinner.py index c1480d2..7f00a47 100644 --- a/user_data/strategies/berlinguyinca/CMCWinner.py +++ b/user_data/strategies/berlinguyinca/CMCWinner.py @@ -43,7 +43,7 @@ class CMCWinner(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '15m' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Adds several different TA indicators to the given DataFrame @@ -63,7 +63,7 @@ class CMCWinner(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the buy signal for the given dataframe :param dataframe: DataFrame @@ -79,7 +79,7 @@ class CMCWinner(IStrategy): return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the sell signal for the given dataframe :param dataframe: DataFrame diff --git a/user_data/strategies/berlinguyinca/ClucMay72018.py b/user_data/strategies/berlinguyinca/ClucMay72018.py index 414ddf1..c5aebc6 100644 --- a/user_data/strategies/berlinguyinca/ClucMay72018.py +++ b/user_data/strategies/berlinguyinca/ClucMay72018.py @@ -39,7 +39,7 @@ class ClucMay72018(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '5m' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe['rsi'] = ta.RSI(dataframe, timeperiod=5) rsiframe = DataFrame(dataframe['rsi']).rename(columns={'rsi': 'close'}) dataframe['emarsi'] = ta.EMA(rsiframe, timeperiod=5) @@ -53,7 +53,7 @@ class ClucMay72018(IStrategy): dataframe['ema100'] = ta.EMA(dataframe, timeperiod=50) return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the buy signal for the given dataframe :param dataframe: DataFrame @@ -69,7 +69,7 @@ class ClucMay72018(IStrategy): return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the sell signal for the given dataframe :param dataframe: DataFrame diff --git a/user_data/strategies/berlinguyinca/CofiBitStrategy.py b/user_data/strategies/berlinguyinca/CofiBitStrategy.py index 8303170..fb76064 100644 --- a/user_data/strategies/berlinguyinca/CofiBitStrategy.py +++ b/user_data/strategies/berlinguyinca/CofiBitStrategy.py @@ -29,7 +29,7 @@ class CofiBitStrategy(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '5m' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: stoch_fast = ta.STOCHF(dataframe, 5.0, 3.0, 0.0, 3.0, 0.0) dataframe['fastd'] = stoch_fast['fastd'] dataframe['fastk'] = stoch_fast['fastk'] @@ -40,7 +40,7 @@ class CofiBitStrategy(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the buy signal for the given dataframe :param dataframe: DataFrame @@ -59,7 +59,7 @@ class CofiBitStrategy(IStrategy): return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the sell signal for the given dataframe :param dataframe: DataFrame diff --git a/user_data/strategies/berlinguyinca/CombinedBinHAndCluc.py b/user_data/strategies/berlinguyinca/CombinedBinHAndCluc.py index a17af8f..b0868b5 100644 --- a/user_data/strategies/berlinguyinca/CombinedBinHAndCluc.py +++ b/user_data/strategies/berlinguyinca/CombinedBinHAndCluc.py @@ -26,7 +26,7 @@ class CombinedBinHAndCluc(IStrategy): stoploss = -0.15 ticker_interval = '5m' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: mid, lower = bollinger_bands(dataframe['close'], window_size=40, num_of_std=2) dataframe['mid'] = np.nan_to_num(mid) dataframe['lower'] = np.nan_to_num(lower) @@ -47,7 +47,7 @@ class CombinedBinHAndCluc(IStrategy): dataframe['ema100'] = ta.EMA(dataframe, timeperiod=50) return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( dataframe['lower'].shift().gt(0) & @@ -67,7 +67,7 @@ class CombinedBinHAndCluc(IStrategy): 'buy'] = 1 return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ """ dataframe.loc[ diff --git a/user_data/strategies/berlinguyinca/DoesNothingStrategy.py b/user_data/strategies/berlinguyinca/DoesNothingStrategy.py index 33621fc..0f2481a 100644 --- a/user_data/strategies/berlinguyinca/DoesNothingStrategy.py +++ b/user_data/strategies/berlinguyinca/DoesNothingStrategy.py @@ -26,17 +26,17 @@ class DoesNothingStrategy(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '5m' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( ), 'buy'] = 1 return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( ), diff --git a/user_data/strategies/berlinguyinca/EMASkipPump.py b/user_data/strategies/berlinguyinca/EMASkipPump.py index ee35672..c7f849d 100644 --- a/user_data/strategies/berlinguyinca/EMASkipPump.py +++ b/user_data/strategies/berlinguyinca/EMASkipPump.py @@ -33,7 +33,7 @@ class EMASkipPump(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '5m' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Adds several different TA indicators to the given DataFrame """ @@ -59,7 +59,7 @@ class EMASkipPump(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ (dataframe['volume'] < (dataframe['volume'].rolling(window=30).mean().shift(1) * 20)) & @@ -72,7 +72,7 @@ class EMASkipPump(IStrategy): return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ (dataframe['close'] > dataframe['ema_{}'.format(self.EMA_SHORT_TERM)]) & diff --git a/user_data/strategies/berlinguyinca/Freqtrade_backtest_validation_freqtrade1.py b/user_data/strategies/berlinguyinca/Freqtrade_backtest_validation_freqtrade1.py index 3396703..7e530fe 100644 --- a/user_data/strategies/berlinguyinca/Freqtrade_backtest_validation_freqtrade1.py +++ b/user_data/strategies/berlinguyinca/Freqtrade_backtest_validation_freqtrade1.py @@ -26,13 +26,13 @@ class Freqtrade_backtest_validation_freqtrade1(IStrategy): stoploss = -09.90 ticker_interval = '1h' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: # SMA - Simple Moving Average dataframe['fastMA'] = ta.SMA(dataframe, timeperiod=14) dataframe['slowMA'] = ta.SMA(dataframe, timeperiod=28) return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( (dataframe['fastMA'] > dataframe['slowMA']) @@ -41,7 +41,7 @@ class Freqtrade_backtest_validation_freqtrade1(IStrategy): return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( (dataframe['fastMA'] < dataframe['slowMA']) diff --git a/user_data/strategies/berlinguyinca/Low_BB.py b/user_data/strategies/berlinguyinca/Low_BB.py index a79421d..0511580 100644 --- a/user_data/strategies/berlinguyinca/Low_BB.py +++ b/user_data/strategies/berlinguyinca/Low_BB.py @@ -45,7 +45,7 @@ class Low_BB(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '1m' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: ################################################################################## # buy and sell indicators @@ -79,7 +79,7 @@ class Low_BB(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the buy signal for the given dataframe :param dataframe: DataFrame @@ -96,7 +96,7 @@ class Low_BB(IStrategy): return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the sell signal for the given dataframe :param dataframe: DataFrame diff --git a/user_data/strategies/berlinguyinca/MACDStrategy.py b/user_data/strategies/berlinguyinca/MACDStrategy.py index a12e6a4..94cc068 100644 --- a/user_data/strategies/berlinguyinca/MACDStrategy.py +++ b/user_data/strategies/berlinguyinca/MACDStrategy.py @@ -42,7 +42,7 @@ class MACDStrategy(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '5m' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: macd = ta.MACD(dataframe) dataframe['macd'] = macd['macd'] @@ -52,7 +52,7 @@ class MACDStrategy(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the buy signal for the given dataframe :param dataframe: DataFrame @@ -67,7 +67,7 @@ class MACDStrategy(IStrategy): return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the sell signal for the given dataframe :param dataframe: DataFrame diff --git a/user_data/strategies/berlinguyinca/MACDStrategy_crossed.py b/user_data/strategies/berlinguyinca/MACDStrategy_crossed.py index f9ef472..2806aa8 100644 --- a/user_data/strategies/berlinguyinca/MACDStrategy_crossed.py +++ b/user_data/strategies/berlinguyinca/MACDStrategy_crossed.py @@ -36,7 +36,7 @@ class MACDStrategy_crossed(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '5m' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: macd = ta.MACD(dataframe) dataframe['macd'] = macd['macd'] @@ -46,7 +46,7 @@ class MACDStrategy_crossed(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the buy signal for the given dataframe :param dataframe: DataFrame @@ -61,7 +61,7 @@ class MACDStrategy_crossed(IStrategy): return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the sell signal for the given dataframe :param dataframe: DataFrame diff --git a/user_data/strategies/berlinguyinca/MultiRSI.py b/user_data/strategies/berlinguyinca/MultiRSI.py index 105940a..3645464 100644 --- a/user_data/strategies/berlinguyinca/MultiRSI.py +++ b/user_data/strategies/berlinguyinca/MultiRSI.py @@ -26,7 +26,7 @@ class MultiRSI(IStrategy): def get_ticker_indicator(self): return int(self.ticker_interval[:-1]) - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: from technical.util import resample_to_interval from technical.util import resampled_merge @@ -51,7 +51,7 @@ class MultiRSI(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( # must be bearish @@ -61,7 +61,7 @@ class MultiRSI(IStrategy): 'buy'] = 1 return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( (dataframe['rsi'] > dataframe['resample_{}_rsi'.format(self.get_ticker_indicator()*2)]) & diff --git a/user_data/strategies/berlinguyinca/Quickie.py b/user_data/strategies/berlinguyinca/Quickie.py index e9253eb..281ee25 100644 --- a/user_data/strategies/berlinguyinca/Quickie.py +++ b/user_data/strategies/berlinguyinca/Quickie.py @@ -34,7 +34,7 @@ class Quickie(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '5m' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: macd = ta.MACD(dataframe) dataframe['macd'] = macd['macd'] dataframe['macdsignal'] = macd['macdsignal'] @@ -54,7 +54,7 @@ class Quickie(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( (dataframe['adx'] > 30) & @@ -66,7 +66,7 @@ class Quickie(IStrategy): 'buy'] = 1 return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( (dataframe['adx'] > 70) & diff --git a/user_data/strategies/berlinguyinca/ReinforcedAverageStrategy.py b/user_data/strategies/berlinguyinca/ReinforcedAverageStrategy.py index cc36ff5..b637f31 100644 --- a/user_data/strategies/berlinguyinca/ReinforcedAverageStrategy.py +++ b/user_data/strategies/berlinguyinca/ReinforcedAverageStrategy.py @@ -31,7 +31,7 @@ class ReinforcedAverageStrategy(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '4h' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe['maShort'] = ta.EMA(dataframe, timeperiod=8) dataframe['maMedium'] = ta.EMA(dataframe, timeperiod=21) @@ -43,7 +43,7 @@ class ReinforcedAverageStrategy(IStrategy): dataframe['bb_middleband'] = bollinger['mid'] return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the buy signal for the given dataframe :param dataframe: DataFrame @@ -60,7 +60,7 @@ class ReinforcedAverageStrategy(IStrategy): return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the sell signal for the given dataframe :param dataframe: DataFrame diff --git a/user_data/strategies/berlinguyinca/ReinforcedQuickie.py b/user_data/strategies/berlinguyinca/ReinforcedQuickie.py index f622acf..a77b8fd 100644 --- a/user_data/strategies/berlinguyinca/ReinforcedQuickie.py +++ b/user_data/strategies/berlinguyinca/ReinforcedQuickie.py @@ -47,7 +47,7 @@ class ReinforcedQuickie(IStrategy): EMA_MEDIUM_TERM = 12 EMA_LONG_TERM = 21 - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe = self.resample(dataframe, self.ticker_interval, self.resample_factor) ################################################################################## @@ -93,7 +93,7 @@ class ReinforcedQuickie(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the buy signal for the given dataframe :param dataframe: DataFrame @@ -138,7 +138,7 @@ class ReinforcedQuickie(IStrategy): return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: """ Based on TA indicators, populates the sell signal for the given dataframe :param dataframe: DataFrame diff --git a/user_data/strategies/berlinguyinca/ReinforcedSmoothScalp.py b/user_data/strategies/berlinguyinca/ReinforcedSmoothScalp.py index b540edb..d82576b 100644 --- a/user_data/strategies/berlinguyinca/ReinforcedSmoothScalp.py +++ b/user_data/strategies/berlinguyinca/ReinforcedSmoothScalp.py @@ -39,7 +39,7 @@ class ReinforcedSmoothScalp(IStrategy): # resample factor to establish our general trend. Basically don't buy if a trend is not given resample_factor = 5 - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe = self.resample(dataframe, self.ticker_interval, self.resample_factor) dataframe['ema_high'] = ta.EMA(dataframe, timeperiod=5, price='high') @@ -61,7 +61,7 @@ class ReinforcedSmoothScalp(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( ( @@ -84,7 +84,7 @@ class ReinforcedSmoothScalp(IStrategy): 'buy'] = 1 return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( ( diff --git a/user_data/strategies/berlinguyinca/Scalp.py b/user_data/strategies/berlinguyinca/Scalp.py index 0d05607..a7aaf66 100644 --- a/user_data/strategies/berlinguyinca/Scalp.py +++ b/user_data/strategies/berlinguyinca/Scalp.py @@ -39,7 +39,7 @@ class Scalp(IStrategy): # the shorter the better ticker_interval = '1m' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe['ema_high'] = ta.EMA(dataframe, timeperiod=5, price='high') dataframe['ema_close'] = ta.EMA(dataframe, timeperiod=5, price='close') dataframe['ema_low'] = ta.EMA(dataframe, timeperiod=5, price='low') @@ -56,7 +56,7 @@ class Scalp(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( (dataframe['open'] < dataframe['ema_low']) & @@ -69,7 +69,7 @@ class Scalp(IStrategy): ), 'buy'] = 1 return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( (dataframe['open'] >= dataframe['ema_high']) diff --git a/user_data/strategies/berlinguyinca/Simple.py b/user_data/strategies/berlinguyinca/Simple.py index fd51dd6..f6437bb 100644 --- a/user_data/strategies/berlinguyinca/Simple.py +++ b/user_data/strategies/berlinguyinca/Simple.py @@ -34,7 +34,7 @@ class Simple(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '5m' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: # MACD macd = ta.MACD(dataframe) dataframe['macd'] = macd['macd'] @@ -52,7 +52,7 @@ class Simple(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( ( @@ -65,7 +65,7 @@ class Simple(IStrategy): 'buy'] = 1 return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: # different strategy used for sell points, due to be able to duplicate it to 100% dataframe.loc[ ( diff --git a/user_data/strategies/berlinguyinca/SmoothOperator.py b/user_data/strategies/berlinguyinca/SmoothOperator.py index 1c57886..558e983 100644 --- a/user_data/strategies/berlinguyinca/SmoothOperator.py +++ b/user_data/strategies/berlinguyinca/SmoothOperator.py @@ -41,7 +41,7 @@ class SmoothOperator(IStrategy): # resample factor to establish our general trend. Basically don't buy if a trend is not given resample_factor = 12 - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: # resampled dataframe to establish if we are in an uptrend, downtrend or sideways trend dataframe = StrategyHelper.resample(dataframe, self.ticker_interval, self.resample_factor) @@ -108,7 +108,7 @@ class SmoothOperator(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( @@ -178,7 +178,7 @@ class SmoothOperator(IStrategy): return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: # different strategy used for sell points, due to be able to duplicate it to 100% dataframe.loc[ ( diff --git a/user_data/strategies/berlinguyinca/SmoothScalp.py b/user_data/strategies/berlinguyinca/SmoothScalp.py index aa99d41..2c09aa6 100644 --- a/user_data/strategies/berlinguyinca/SmoothScalp.py +++ b/user_data/strategies/berlinguyinca/SmoothScalp.py @@ -36,7 +36,7 @@ class SmoothScalp(IStrategy): # the shorter the better ticker_interval = '1m' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe['ema_high'] = ta.EMA(dataframe, timeperiod=5, price='high') dataframe['ema_close'] = ta.EMA(dataframe, timeperiod=5, price='close') dataframe['ema_low'] = ta.EMA(dataframe, timeperiod=5, price='low') @@ -62,7 +62,7 @@ class SmoothScalp(IStrategy): return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( ( @@ -81,7 +81,7 @@ class SmoothScalp(IStrategy): 'buy'] = 1 return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( ( diff --git a/user_data/strategies/berlinguyinca/TechnicalExampleStrategy.py b/user_data/strategies/berlinguyinca/TechnicalExampleStrategy.py index 6eb0c49..d0ef82e 100644 --- a/user_data/strategies/berlinguyinca/TechnicalExampleStrategy.py +++ b/user_data/strategies/berlinguyinca/TechnicalExampleStrategy.py @@ -14,12 +14,12 @@ class TechnicalExampleStrategy(IStrategy): # Optimal ticker interval for the strategy ticker_interval = '5m' - def populate_indicators(self, dataframe: DataFrame) -> DataFrame: + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe['cmf'] = cmf(dataframe, 21) return dataframe - def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[ ( ( @@ -30,7 +30,7 @@ class TechnicalExampleStrategy(IStrategy): 'buy'] = 1 return dataframe - def populate_sell_trend(self, dataframe: DataFrame) -> DataFrame: + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: # different strategy used for sell points, due to be able to duplicate it to 100% dataframe.loc[ (