Esta estrategia es un sistema de seguimiento de tendencias basado en múltiples promedios móviles exponenciales (EMA). Identifica las tendencias del mercado mediante el cálculo de los promedios de los grupos de EMA a corto y largo plazo y genera señales comerciales en los cruces. La estrategia incorpora mecanismos de toma de ganancias y stop-loss para controlar el riesgo y asegurar las ganancias.
La estrategia emplea 6 EMA a corto plazo (3, 5, 8, 10, 12, 15 períodos) y 6 EMA a largo plazo (30, 35, 40, 45, 50, 60 períodos). Mediando estas EMA por separado, crea indicadores de tendencia a corto y largo plazo más suaves. Las posiciones largas se inician cuando el promedio a corto plazo cruza por encima del promedio a largo plazo, mientras que las posiciones cortas se toman cuando el promedio a corto plazo cruza por debajo.
Esta es una estrategia de seguimiento de tendencias bien estructurada que proporciona señales comerciales relativamente confiables a través de la combinación de múltiples EMA. Aunque conlleva algunos riesgos de retraso inherentes, el rendimiento general puede mejorarse aún más a través de la configuración apropiada de take profit y stop-loss y las direcciones de optimización sugeridas.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Pavan Guppy Strategy", shorttitle="Pavan Avg", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10) // Short-term EMAs shortEMA1 = ta.ema(close, 3) shortEMA2 = ta.ema(close, 5) shortEMA3 = ta.ema(close, 8) shortEMA4 = ta.ema(close, 10) shortEMA5 = ta.ema(close, 12) shortEMA6 = ta.ema(close, 15) // Long-term EMAs longEMA1 = ta.ema(close, 30) longEMA2 = ta.ema(close, 35) longEMA3 = ta.ema(close, 40) longEMA4 = ta.ema(close, 45) longEMA5 = ta.ema(close, 50) longEMA6 = ta.ema(close, 60) // Average short-term EMAs shortAvg = (shortEMA1 + shortEMA2 + shortEMA3 + shortEMA4 + shortEMA5 + shortEMA6) / 6.0 // Average long-term EMAs longAvg = (longEMA1 + longEMA2 + longEMA3 + longEMA4 + longEMA5 + longEMA6) / 6.0 // Plot averaged EMAs plot(shortAvg, color=color.green, linewidth=2, title="Averaged Short-term EMAs") plot(longAvg, color=color.red, linewidth=2, title="Averaged Long-term EMAs") // Define the target and stop loss percentages takeProfitPerc = 10 stopLossPerc = 5 // Generate buy signal when shortAvg crosses above longAvg if ta.crossover(shortAvg, longAvg) strategy.entry("Buy", strategy.long) // Generate sell signal when shortAvg crosses below longAvg if ta.crossunder(shortAvg, longAvg) strategy.entry("Sell", strategy.short) // Calculate take profit and stop loss prices for long trades longTakeProfit = close * (1 + (takeProfitPerc / 100.0)) longStopLoss = close * (1 - (stopLossPerc / 100.0)) // Set take profit and stop loss for long positions strategy.exit("Take Profit/Stop Loss", from_entry="Buy", limit=longTakeProfit, stop=longStopLoss) // Calculate take profit and stop loss prices for short trades shortTakeProfit = close * (1 - takeProfitPerc / 100.0) shortStopLoss = close * (1 + stopLossPerc / 100.0) // Set take profit and stop loss for short positions strategy.exit("Take Profit/Stop Loss", from_entry="Sell", limit=shortTakeProfit, stop=shortStopLoss)