# source: https://raw.githubusercontent.com/itsYork/CryptoBot/6df9fcc0e83cdc074477a12080fa7cf402dc3fb6/SimpleStrategy.py
from freqtrade.strategy import IStrategy
from pandas import DataFrame


class Github_itsYork_CryptoBot__SimpleStrategy__20250813_030335(IStrategy):
    """Basic EMA crossover strategy for Freqtrade."""

    timeframe = "1h"
    process_only_new_candles = True
    minimal_roi = {"0": 0.05}
    stoploss = -0.1
    trailing_stop = False

    def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        dataframe["ema_fast"] = dataframe["close"].ewm(span=12, adjust=False).mean()
        dataframe["ema_slow"] = dataframe["close"].ewm(span=26, adjust=False).mean()
        return dataframe

    def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        dataframe.loc[(dataframe["ema_fast"] > dataframe["ema_slow"]), "enter_long"] = 1
        return dataframe

    def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        dataframe.loc[(dataframe["ema_fast"] < dataframe["ema_slow"]), "exit_long"] = 1
        return dataframe
