import freqtrade.vendor.qtpylib.indicators as qtpylib import numpy as np import talib.abstract as ta from freqtrade.strategy.interface import IStrategy from pandas import DataFrame, DatetimeIndex, merge, Series from technical.indicators import hull_moving_average class BuyOrDie(IStrategy): INTERFACE_VERSION = 3 # Buy hyperspace params: entry_params = {} # Sell hyperspace params: exit_params = {} # ROI table: minimal_roi = {'0': 1000} # Stoploss: stoploss = -0.02 # Trailing stop: trailing_stop = True trailing_stop_positive = 0.332 trailing_stop_positive_offset = 0.364 trailing_only_offset_is_reached = True timeframe = '5m' use_exit_signal = False exit_profit_only = False ignore_roi_if_entry_signal = True def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe['hma_20'] = qtpylib.hull_moving_average(dataframe['close'], window=20) dataframe['close_prev'] = dataframe['close'].shift(2) dataframe['hma_20_prev'] = dataframe['hma_20'].shift(2) dataframe['close_curr'] = dataframe['close'].shift(1) dataframe['hma_20_current'] = dataframe['hma_20'].shift(1) return dataframe def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: dataframe.loc[(dataframe['close_curr'] > dataframe['hma_20_current']) & (dataframe['close_prev'] < dataframe['hma_20_prev']), 'enter_long'] = 1 return dataframe def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: return dataframe