# source: https://raw.githubusercontent.com/Hans1361/MyTrade56/1f9d73651bc407cf69ebaff3a89179a5841fd54c/user_data/strategies/NostalgiaForInfinityX5_Soft.py
from freqtrade.strategy import IStrategy
from pandas import DataFrame
import talib.abstract as ta

class Github_Hans1361_MyTrade56__NostalgiaForInfinityX5_Soft__20250619_202852(IStrategy):
    INTERFACE_VERSION = 3
    minimal_roi = {
        "0": 0.01
    }
    stoploss = -0.10
    timeframe = '5m'

    def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        dataframe['rsi'] = ta.RSI(dataframe, timeperiod=14)
        dataframe['ema20'] = ta.EMA(dataframe, timeperiod=20)
        return dataframe

    def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        dataframe.loc[
            (
                (dataframe['rsi'] < 60) &
                (dataframe['close'] > dataframe['ema20'])
            ),
            'enter_long'
        ] = 1
        return dataframe

    def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        dataframe.loc[
            (
                (dataframe['rsi'] > 70) |
                (dataframe['close'] < dataframe['ema20'])
            ),
            'exit_long'
        ] = 1
        return dataframe 