# source: https://raw.githubusercontent.com/jorgehn98/btc-lab/40d5bf4d4f3a81e77aa9026c6dd9c0e16539ff98/strategies/smoke/NoTradeSmoke.py
# directory_url: https://github.com/jorgehn98/btc-lab/blob/main/strategies/smoke/
# User: jorgehn98
# Repository: btc-lab
# --------------------"""Github_jorgehn98_btc_lab__NoTradeSmoke__20260922_094926: estrategia de smoke que nunca opera (T03).

Cumple IStrategy de la imagen fijada y genera siempre enter/exit a cero,
sin short ni ajuste de posición. El stoploss es válido pero decorativo:
`confirm_trade_entry` bloquea cualquier entrada como segunda barrera.
No es un candidato ni evidencia económica.
"""

from pandas import DataFrame

from freqtrade.strategy import IStrategy


class Github_jorgehn98_btc_lab__NoTradeSmoke__20260922_094926(IStrategy):
    INTERFACE_VERSION = 3
    timeframe = "5m"
    # El ROI no interviene: el smoke nunca abre una operación.
    minimal_roi = {"0": 100.0}
    stoploss = -0.10
    can_short = False
    position_adjustment_enable = False
    startup_candle_count = 20

    def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        return dataframe

    def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        dataframe["enter_long"] = 0
        dataframe["enter_short"] = 0
        dataframe["enter_tag"] = ""
        return dataframe

    def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        dataframe["exit_long"] = 0
        dataframe["exit_short"] = 0
        dataframe["exit_tag"] = ""
        return dataframe

    def confirm_trade_entry(self, *args, **kwargs) -> bool:
        return False
