from freqtrade.strategy.interface import IStrategy from pandas import DataFrame from technical.indicators import ichimoku import freqtrade.vendor.qtpylib.indicators as qtpylib class Stavix2(IStrategy): INTERFACE_VERSION = 3 minimal_roi = {'0': 0.15} stoploss = -0.1 timeframe = '1m' def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: cloud = ichimoku(dataframe, conversion_line_period=200, base_line_periods=350, laggin_span=150, displacement=75) dataframe['tenkan_sen'] = cloud['tenkan_sen'] dataframe['kijun_sen'] = cloud['kijun_sen'] dataframe['senkou_span_a'] = cloud['senkou_span_a'] dataframe['senkou_span_b'] = cloud['senkou_span_b'] dataframe['chikou_span'] = cloud['chikou_span'] return dataframe def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[(dataframe['close'] > dataframe['senkou_span_a']) & (dataframe['close'] > dataframe['senkou_span_b']) & qtpylib.crossed_above(dataframe['kijun_sen'], dataframe['tenkan_sen']), 'entry'] = 1 return dataframe def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[(dataframe['close'] < dataframe['senkou_span_a']) & (dataframe['close'] < dataframe['senkou_span_b']) & qtpylib.crossed_above(dataframe['tenkan_sen'], dataframe['kijun_sen']), 'exit'] = 1 return dataframe