# source: https://raw.githubusercontent.com/Tarasyanich87/Micro-Services_FT_Project/88c02d0891259057371bf5c8f8a8a295fbe9bff0/user_data/strategies/UltraSimpleStrategy.py
# Ultra Simple Strategy for Dry Run Testing
from freqtrade.strategy import IStrategy
from pandas import DataFrame


class Github_Tarasyanich87_Micro_Services_FT_Project__UltraSimpleStrategy__20251210_163936(IStrategy):
    """
    Ultra simple strategy for testing Freqtrade dry-run functionality.
    No external dependencies, just basic logic.
    """

    timeframe = "5m"

    # Minimal ROI
    minimal_roi = {
        "0": 0.05  # 5% profit
    }

    # Stoploss
    stoploss = -0.03  # 3% stop loss

    def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        """Add basic indicators"""
        # Simple moving average
        dataframe['sma'] = dataframe['close'].rolling(window=10).mean()
        return dataframe

    def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        """Simple buy signal"""
        dataframe.loc[
            (
                (dataframe['close'] > dataframe['sma']) &  # Price above SMA
                (dataframe['volume'] > 0)  # Has volume
            ),
            'buy'] = 1
        return dataframe

    def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        """Simple sell signal"""
        dataframe.loc[
            (
                (dataframe['close'] < dataframe['sma'])  # Price below SMA
            ),
            'sell'] = 1
        return dataframe</content>
<parameter name="filePath">jules_freqtrade_project/user_data/strategies/Github_Tarasyanich87_Micro_Services_FT_Project__UltraSimpleStrategy__20251210_163936.py