Esta estrategia es un sistema de seguimiento de tendencias basado en la combinación de múltiples promedios móviles, utilizando principalmente las relaciones de cruce y posición entre la EMA semanal20, la SMA diaria100, la SMA diaria50 y la EMA diaria20 para capturar oportunidades de inversión a medio y largo plazo.
La lógica central de la estrategia se basa en las siguientes condiciones clave: 1. Utiliza la media móvil exponencial semanal de 20 períodos (EMA1W20) como indicador de tendencia principal 2. Combina con la media móvil simple de 100 días (SMA1D100) para la confirmación de tendencias secundarias 3. Utiliza la media móvil simple de 50 días (SMA1D50) como referencia de tendencia a medio plazo Utiliza la media móvil exponencial de 20 días (EMA1D20) para confirmar la tendencia a corto plazo El sistema genera una señal larga cuando el precio se mantiene por encima de EMA1W20 y SMA1D100 durante 14 días consecutivos y luego cae por debajo de SMA1D50.
Esta estrategia establece una tendencia relativamente completa siguiendo el sistema a través de múltiples combinaciones de promedios móviles, adecuada para inversores de mediano a largo plazo. Aunque tiene ciertos riesgos de retraso y sensibilidad de parámetros, la estrategia tiene valor práctico a través del control adecuado del riesgo y la optimización continua. Se aconseja a los inversores que realicen los ajustes apropiados basados en sus preferencias de riesgo y condiciones del mercado.
/*backtest start: 2024-11-12 00:00:00 end: 2024-12-11 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © petitepupu //@version=5 ema20wTemp = ta.ema(close, 20) ema20w = request.security(syminfo.tickerid, "1W", ema20wTemp, barmerge.gaps_on, barmerge.lookahead_off) sma100d = ta.sma(close, 100) sma50d = ta.sma(close, 50) ema20d = ta.ema(close, 20) daysAbove = input.int(14, title="Days", minval=1) plot(ema20w, color=color.blue) plot(sma100d, color=color.yellow) plot(sma50d, color=color.red) plot(ema20d, color=color.green) longCondition = true clean = true for i = 0 to daysAbove if close[i] < ema20w or close[i] < sma100d or close > sma50d longCondition := false clean := false break //TODO: if clean != true longCondition := true for i = 0 to daysAbove if close[i] > ema20w or close[i] > sma100d or close >= ema20d or -100 * (close - ema20d)/ema20d < 5.9 longCondition := false break // plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal", size = size.small) if (longCondition) strategy.entry("Long", strategy.long) strategy(title="LT Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=800)