# source: https://raw.githubusercontent.com/DerSalvador/freqtrade-helm-chart/a669dc11b640b0eb63aa8f8b51e9f181fd7ee43c/chart/deployed_strategies/binance-futures-k8s-namespace/YOLO.py
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

class Github_DerSalvador_freqtrade_helm_chart__YOLO__20260115_122204(IStrategy):
    INTERFACE_VERSION = 3
    # Buy hyperspace params:
    entry_params = {'adx': 34, 'aroon-down': 33, 'aroon-up': 98}
    # Sell hyperspace params:
    exit_params = {}
    # ROI table:
    minimal_roi = {'0': 0.03, '7': 0.02, '33': 0.01, '71': 0.005}
    # Stoploss:
    stoploss = -0.01
    # Trailing stop:
    trailing_stop = True
    trailing_stop_positive = 0.03289
    trailing_stop_positive_offset = 0.05723
    trailing_only_offset_is_reached = False
    '\n    END HYPEROPT\n    '
    timeframe = '1m'
    use_exit_signal = False
    exit_profit_only = False
    ignore_roi_if_entry_signal = True

    def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        dataframe['adx'] = ta.ADX(dataframe, timeperiod=90)  #90
        aroon = ta.AROON(dataframe, timeperiod=60)  #60
        dataframe['aroon-down'] = aroon['aroondown']
        dataframe['aroon-up'] = aroon['aroonup']
        return dataframe

    def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        params = self.entry_params
        dataframe.loc[(dataframe['adx'] > params['adx']) & (dataframe['aroon-up'] > params['aroon-up']) & (dataframe['aroon-down'] < params['aroon-down']) & (dataframe['volume'] > 0), 'entry'] = 1
        return dataframe

    def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        """
        no exit signal
        """
        dataframe['exit'] = 0
        return dataframe