Esta estrategia combina métodos de seguimiento de tendencias y análisis de impulso, utilizando indicadores de promedio móvil simple (SMA) y de convergencia de convergencia de promedio móvil (MACD) para identificar oportunidades comerciales potenciales. La estrategia utiliza el indicador Trendilo (un indicador de tendencia basado en SMA) para determinar la tendencia general del mercado, mientras emplea cruces de línea cero MACD para capturar cambios de impulso a corto plazo. Además, la estrategia incorpora el rango verdadero promedio (ATR) para establecer dinámicamente los niveles de stop-loss y take-profit, adaptándose a los cambios en la volatilidad del mercado.
La lógica central de la estrategia se basa en los siguientes elementos clave:
Específicamente, una señal larga se activa cuando la línea MACD cruza por encima de cero y el precio de cierre está por encima de la línea Trendilo. Por el contrario, una señal corta se activa cuando la línea MACD cruza por debajo de cero y el precio de cierre está por debajo de la línea Trendilo.
Esta estrategia combina hábilmente el seguimiento de tendencias y el análisis de impulso, proporcionando a los operadores un marco de análisis de mercado relativamente completo a través de la sinergia de Trendilo y MACD. El enfoque dinámico de gestión de riesgos mejora la adaptabilidad de la estrategia, lo que le permite mantener la estabilidad en diferentes entornos de mercado. Sin embargo, los operadores aún deben tener cuidado al usar esta estrategia, especialmente en términos de optimización de parámetros y control de riesgos. A través del monitoreo y optimización continuos, esta estrategia tiene el potencial de convertirse en una herramienta comercial confiable, particularmente adecuada para los inversores que buscan capturar oportunidades en mercados de tendencia.
/*backtest start: 2019-12-23 08:00:00 end: 2024-09-24 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("NNFX Trendilo + Zero MACD Strategy", overlay=true) // --- Inputs --- atrPeriod = input.int(14, title="ATR Period") stopLossMultiplier = input.float(1.5, minval=0.0, maxval = 20.0, step = 0.1 ,title="Stop Loss Multiplier") takeProfitMultiplier = input.float(2.0, minval=0.0 , maxval = 20.0, step = 0.1,title="Take Profit Multiplier") // --- Trendilo --- trendiloPeriod = input.int(50, title="Trendilo Period") trendilo = ta.sma(close, trendiloPeriod) // --- MACD --- [macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) macdZeroCrossUp = ta.crossover(macdLine, 0) macdZeroCrossDown = ta.crossunder(macdLine, 0) // --- ATR for Stop Loss and Take Profit --- atr = ta.atr(atrPeriod) stopLoss = atr * stopLossMultiplier takeProfit = atr * takeProfitMultiplier // --- Trading Logic --- longCondition = macdZeroCrossUp and close > trendilo shortCondition = macdZeroCrossDown and close < trendilo // --- Execute Long Trades --- if (longCondition) strategy.entry("Buy", strategy.long) strategy.exit("Take Profit/Stop Loss", "Buy", limit=close + takeProfit, stop=close - stopLoss) // --- Execute Short Trades --- if (shortCondition) strategy.entry("Sell", strategy.short) strategy.exit("Take Profit/Stop Loss", "Sell", limit=close - takeProfit, stop=close + stopLoss) // --- Plot Signals --- plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy") plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell") // --- Plot Trendilo --- plot(trendilo, color=color.blue, linewidth=2)