From 46ae26afa249ec6e1d714d0476237a3e3e4ed673 Mon Sep 17 00:00:00 2001 From: Masoud Azizi Date: Wed, 19 May 2021 10:40:00 +0430 Subject: [PATCH] Dynamicly generated timeframes --- user_data/strategies/MultiMa.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/user_data/strategies/MultiMa.py b/user_data/strategies/MultiMa.py index f5ad78b..6a9bf02 100644 --- a/user_data/strategies/MultiMa.py +++ b/user_data/strategies/MultiMa.py @@ -42,19 +42,19 @@ class MultiMa(IStrategy): timeframe = '4h' def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: - # SMA - Simple Moving Average - - for i in range(1, self.buy_ma_count.value+1): - dataframe[f'buy-ma-{i}'] = ta.SMA(dataframe, - timeperiod=int(i * self.buy_ma_gap.value)) - - for i in range(1, self.sell_ma_count.value+1): - dataframe[f'sell-ma-{i}'] = ta.SMA(dataframe, - timeperiod=int(i * self.sell_ma_gap.value)) + + # We shoud dinamicly generate indicators + # cuz this method just run one time in hyperopts + # if you have static timeframes you can move first loop of buy and sell trends populators inside this method return dataframe def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: + + for i in range(1, self.buy_ma_count.value+1): + dataframe[f'buy-ma-{i}'] = ta.SMA(dataframe, + timeperiod=int(i * self.buy_ma_gap.value)) + conditions = [] for i in range(1, self.buy_ma_count.value): @@ -73,6 +73,10 @@ class MultiMa(IStrategy): return dataframe def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: + for i in range(1, self.sell_ma_count.value+1): + dataframe[f'sell-ma-{i}'] = ta.SMA(dataframe, + timeperiod=int(i * self.sell_ma_gap.value)) + conditions = [] for i in range(1, self.sell_ma_count.value):