Esta estrategia combina las medias móviles exponenciales (EMA) de 8 y 21 períodos con el indicador SAR parabólico para capturar tendencias y gestionar el riesgo.
La estrategia utiliza dos EMA con diferentes períodos (8 períodos y 21 períodos) y el indicador SAR parabólico para determinar las condiciones de entrada y salida. Cuando la EMA a corto plazo cruza por encima de la EMA a largo plazo y el precio de cierre está por encima de la SAR, la estrategia abre una posición larga. Cuando la EMA a corto plazo cruza por debajo de la EMA a largo plazo y el precio de cierre está por debajo de la SAR, la estrategia abre una posición corta. Las posiciones largas se cierran cuando el precio de cierre cae por debajo de la SAR, mientras que las posiciones cortas se cierran cuando el precio de cierre se eleva por encima de la SAR. La estrategia también establece un stop-loss fijo en puntos para controlar el riesgo de cada operación. Además, la estrategia requiere que todas las posiciones se cierren a las 15:15 de cada día de negociación.
La estrategia de combinación de EMA y Parabolic SAR intenta capturar tendencias y controlar el riesgo mediante la combinación de dos indicadores técnicos comúnmente utilizados. La estrategia es simple y fácil de entender, por lo que es adecuada para que los principiantes la aprendan y usen. Sin embargo, la estrategia también tiene algunas limitaciones, como la insuficiente adaptabilidad a la volatilidad del mercado y la falta de consideración del sentimiento del mercado y los factores fundamentales. Por lo tanto, en las aplicaciones prácticas, la estrategia necesita ser optimizada y mejorada en función de mercados específicos e instrumentos comerciales para mejorar su estabilidad y rentabilidad.
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA and Parabolic SAR Strategy", overlay=true) // Input parameters for EMAs and Parabolic SAR emaShortPeriod = input.int(8, title="Short EMA Period") emaLongPeriod = input.int(21, title="Long EMA Period") sarStart = input.float(0.02, title="Parabolic SAR Start") sarIncrement = input.float(0.02, title="Parabolic SAR Increment") sarMaximum = input.float(0.2, title="Parabolic SAR Maximum") fixedSL = input.int(83, title="Fixed Stop Loss (pts)") // Calculate EMAs and Parabolic SAR emaShort = ta.ema(close, emaShortPeriod) emaLong = ta.ema(close, emaLongPeriod) sar = ta.sar(sarStart, sarIncrement, sarMaximum) // Entry conditions longCondition = ta.crossover(emaShort, emaLong) and close > sar shortCondition = ta.crossunder(emaShort, emaLong) and close < sar // Exit conditions longExitCondition = close < sar shortExitCondition = close > sar // Strategy entry and exit if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) if (longExitCondition) strategy.close("Long") if (shortExitCondition) strategy.close("Short") // Fixed Stop Loss strategy.exit("Long Exit", "Long", stop=close - fixedSL * syminfo.mintick) strategy.exit("Short Exit", "Short", stop=close + fixedSL * syminfo.mintick) // Exit all positions at 15:15 exitHour = 15 exitMinute = 15 exitTime = timestamp(year(timenow), month(timenow), dayofmonth(timenow), exitHour, exitMinute) if (timenow >= exitTime) strategy.close_all() // Plot EMAs and Parabolic SAR plot(emaShort, color=color.blue, title="8 EMA") plot(emaLong, color=color.red, title="21 EMA") plot(sar, style=plot.style_cross, color=color.green, title="Parabolic SAR")