# source: https://raw.githubusercontent.com/DerSalvador/freqtrade-helm-chart/a669dc11b640b0eb63aa8f8b51e9f181fd7ee43c/chart/deployed_strategies/binance-futures-k8s-namespace/Slowbro.py
# --- Do not remove these libs ---
from freqtrade.strategy import IStrategy, merge_informative_pair
from pandas import DataFrame
import freqtrade.vendor.qtpylib.indicators as qtpylib
# --------------------------------
'\n                   ,-\'"-.\n             __...| .".  |\n        ,--+"     \' |   ,\'\n       | .\'   ..--,  `-\' `.\n       |/    |  ,\' |       :\n       |\\...-+-".._|       |\n     ,"            `--.     `.     _..-\'+"/__\n    /   .              |      :,-"\'     `" |_\'\n ..| .    _,....___,\'  |    ,\'            /..\'.__.-\'  /V     |   \'                ,\'""\n`. |  `:  \\.       |  .               ,\'         ,.-.\n  `:       |       |  \'             .^.        ,\' ,"`.\n    `.     |       | /               _.\\.---..\'  /   |     ,-,.\n      `._  A      / j              ."       /   /    |   .\',\' |\n         `. `...-\' ,\'             /        /._ /     | ,\' /   |\n           |"-----\'             ,\'        /   /-.__  |\'  /    |\n           | _.--\'"\'""`.       .         /   /     `"^-.,     |\n           |"       ____\\     j             j            `"--.|\n           |  _.-""\'     \\    |             |                j\n         _,+."_           \\   |             |                |\n        \'    . `.     _.-"\'.     ,          |                \'\n       |_    | `.`. ,\'      `.   |          |               .\n       | `-. |  ,\'.\\         .\\   \\         |              /\n       |\\   ;+-\'   "\\      ,\'  `.  \\        |             /\n       \'\\."         \\ _.-\'     ,`. \\       \'            /\n        \\\\           :       .\'   `.`._     \\          / `-..-.\n         ``.          |    _." _...,:.._`.    `._     ,\'   -. \'\n          `.`.        |`".\'__.\'           `,...__"--`/  |   / |\n            `.`.     _\'    \\|             ,\'       ,\'_  `..\'  |..__,.\n              `._`--".\'     \\`._      _,-\'       ,\' `-\'  /    | .  ,\'\n                 `""\'        `. `"\'""\'   ,-" _,-\'    _ .\'     \'  `\' `.\n                               `-.._____:  |"       _," ."  ,\'__,.."\'\n                                         `.|-...,.<\'    `,_""\'`./\n                                             `.\'   `"--\'" mh\nSLOWBRO v100\n\n'

class Github_DerSalvador_freqtrade_helm_chart__Slowbro__20260115_122204(IStrategy):
    INTERFACE_VERSION = 3
    minimal_roi = {'0': 0.1, '1440': 0.2, '2880': 0.3, '10080': 1.0}
    # Stoploss:
    stoploss = -0.99
    timeframe = '1h'
    inf_timeframe = '1d'
    use_exit_signal = True
    exit_profit_only = True
    ignore_roi_if_entry_signal = False
    startup_candle_count: int = 30
    process_only_new_candles = False

    def informative_pairs(self):
        # add all whitelisted pairs on informative timeframe
        pairs = self.dp.current_whitelist()
        informative_pairs = [(pair, self.inf_timeframe) for pair in pairs]
        return informative_pairs

    def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        informative = self.dp.get_pair_dataframe(pair=metadata['pair'], timeframe=self.inf_timeframe)
        informative['30d-low'] = informative['close'].rolling(30).min()
        informative['30d-high'] = informative['close'].rolling(30).max()
        dataframe = merge_informative_pair(dataframe, informative, self.timeframe, self.inf_timeframe, ffill=True)
        return dataframe

    def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        dataframe.loc[qtpylib.crossed_above(dataframe['close'], dataframe[f'30d-low_{self.inf_timeframe}']), 'entry'] = 1
        return dataframe

    def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        dataframe.loc[qtpylib.crossed_above(dataframe['close'], dataframe[f'30d-high_{self.inf_timeframe}']), 'exit'] = 1
        return dataframe