# source: https://raw.githubusercontent.com/hehehe-jing/-/4ec2c085ad698aa149d99f9891b383be55796dda/strategies/TEST5.py
from freqtrade.strategy import IStrategy
from pandas import DataFrame, Series


class Github_hehehe_jing____TEST5__20260425_074358(IStrategy):
    timeframe = '1h'
    minimal_roi = {"0": 0.01}
    stoploss = -0.01

    def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        dataframe['ma5'] = dataframe['close'].rolling(5).mean()
        dataframe['ma20'] = dataframe['close'].rolling(20).mean()
        dataframe['volume20'] = dataframe['volume'].rolling(20).mean()
        return dataframe

    def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        dataframe.loc[(dataframe['close'] > dataframe['ma5']) &
                      (dataframe['ma5'] > dataframe['ma20']) & (dataframe['volume']>dataframe['volume20']), 'enter_long'
        ] = 1
        return dataframe

    def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        dataframe.loc[((dataframe['close'] < dataframe['ma5']) |
                      (dataframe['ma5']<dataframe['ma20'])) & (dataframe['volume']>dataframe['volume20']), 'exit_long'
        ] = 1
        return dataframe
