diff --git a/user_data/strategies/Swing-High-To-Sky.py b/user_data/strategies/Swing-High-To-Sky.py new file mode 100644 index 0000000..0d7ab06 --- /dev/null +++ b/user_data/strategies/Swing-High-To-Sky.py @@ -0,0 +1,71 @@ +# --- Do not remove these libs --- +from freqtrade.strategy.interface import IStrategy +from typing import Dict, List +from functools import reduce +from pandas import DataFrame +# -------------------------------- + +import talib.abstract as ta +import freqtrade.vendor.qtpylib.indicators as qtpylib +import numpy # noqa + +__author__ = "Kevin Ossenbrück" +__copyright__ = "Free For Use" +__credits__ = ["Bloom Trading, Mohsen Hassan"] +__license__ = "MIT" +__version__ = "1.0" +__maintainer__ = "Kevin Ossenbrück" +__email__ = "kevin.ossenbrueck@pm.de" +__status__ = "Live" + +class_name = 'SwingHighToSky' +class SwingHighToSky(IStrategy): + + # Disable ROI + minimal_roi = { + "0": 100 + } + + stoploss = -0.30 + trailing_stop = True + trailing_stop_positive = 0.08 + trailing_stop_positive_offset = 0.10 + trailing_only_offset_is_reached = True + + ticker_interval = '30m' + + def informative_pairs(self): + return [] + + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: + + macd = ta.MACD(dataframe) + dataframe['macd'] = macd['macd'] + dataframe['macdsignal'] = macd['macdsignal'] + dataframe['macdhist'] = macd['macdhist'] + + dataframe['cci'] = ta.CCI(dataframe) + + return dataframe + + def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: + + dataframe.loc[ + ( + (dataframe['macd'] > dataframe['macdsignal']) & + (dataframe['cci'] <= -100.0) + ), + 'buy'] = 1 + + return dataframe + + def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: + + dataframe.loc[ + ( + (dataframe['macd'] < dataframe['macdsignal']) & + (dataframe['cci'] >= 200.0) + ), + 'sell'] = 1 + + return dataframe \ No newline at end of file