Esta estrategia es un sistema integral de seguimiento de tendencias que combina múltiples indicadores técnicos y métodos de análisis de impulso. El núcleo de la estrategia utiliza cruces de promedio móvil, confirmación de tendencias e indicadores de impulso, combinados con control de volatilidad para la gestión de riesgos.
La estrategia emplea un mecanismo de confirmación de señales de múltiples capas, que incluye los siguientes elementos clave:
Las condiciones generales de negociación son las siguientes: Condiciones largas: EMA9 cruza por encima de EMA21, línea MACD por encima de la línea de señal y positiva, RSI entre 40-70, precio por encima de EMA9 Condiciones cortas: EMA9 cruza por debajo de EMA21, línea MACD por debajo de la línea de señal y negativa, RSI entre 30-60, precio por debajo de EMA9
Esta estrategia construye un sistema comercial de seguimiento de tendencias relativamente completo a través de la combinación de múltiples indicadores técnicos. Las principales ventajas se encuentran en la fiabilidad de la señal y el control racional del riesgo, aunque enfrenta desafíos con retraso y optimización de parámetros. A través de las direcciones de optimización propuestas, la estrategia tiene potencial para mejorar el rendimiento en el comercio en vivo. Se recomienda realizar pruebas de datos históricos completos y ajustar los parámetros de acuerdo con las características específicas del mercado antes de la implementación.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Estratégia Cripto - 1D", shorttitle="Estratégia Cripto", overlay=true) // Definição das Médias Móveis Exponenciais (EMA) ema9 = ta.ema(close, 9) ema21 = ta.ema(close, 21) // Definição do MACD [macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) // Definição do RSI rsi = ta.rsi(close, 14) // Volume médio volMedio = ta.sma(volume, 14) // Definição das Bollinger Bands basis = ta.sma(close, 20) dev = ta.stdev(close, 20) upperBand = basis + 2 * dev lowerBand = basis - 2 * dev // Condições de Compra (Long) longCondition = (ema9 > ema21) and (macdLine > signalLine) and (macdLine > 0) and (volume > volMedio) and (rsi > 40 and rsi < 70) and (close > ema9) if (longCondition) strategy.entry("Compra", strategy.long) // Condições de Venda (Short) shortCondition = (ema9 < ema21) and (macdLine < signalLine) and (macdLine < 0) and (volume > volMedio) and (rsi < 60 and rsi > 30) and (close < ema9) if (shortCondition) strategy.entry("Venda", strategy.short) // Stop Loss e Take Profit strategy.exit("Take Profit/Stop Loss", from_entry="Compra", loss=200, profit=400) strategy.exit("Take Profit/Stop Loss", from_entry="Venda", loss=200, profit=400) // Plotagem das Médias Móveis e Bollinger Bands plot(ema9, color=color.green, title="EMA 9") plot(ema21, color=color.red, title="EMA 21") plot(upperBand, color=color.blue, title="Upper Band") plot(lowerBand, color=color.blue, title="Lower Band")