Esta estrategia es un sistema de negociación de seguimiento de tendencias que combina el índice de fuerza relativa (RSI), el promedio móvil ponderado (WMA) y el promedio móvil exponencial (EMA). La estrategia identifica los cambios de tendencia del mercado mediante el monitoreo de los niveles de RSI y el cruce entre WMA y EMA para generar señales de compra y venta. Este método de combinación considera tanto las condiciones de sobrecompra / sobreventa del mercado como los juicios de tendencia de diferentes promedios móviles de período, lo que permite una captura más precisa de los puntos de inflexión del mercado.
La lógica central de la estrategia se basa en los siguientes elementos clave: 1. Utiliza el RSI de 14 períodos para calcular las condiciones de sobrecompra/sobreventa del mercado 2. Cálcula el WMA de 45 y el EMA de 89 períodos Condiciones de entrada: - señal larga: cuando el RSI está por debajo de 50 y la WMA cruza por encima de la EMA - señal corta: cuando el RSI está por encima de 50 y la WMA cruza por debajo de la EMA 4. La estrategia utiliza la función ta.rma para facilitar el cálculo del RSI, mejorando la estabilidad de la señal 5. Utiliza la funcionalidad de gráficos para marcar puntos de compra / venta en el gráfico para un juicio intuitivo
La estrategia construye un sistema de seguimiento de tendencias relativamente completo mediante la combinación de indicadores RSI, WMA y EMA. Sus principales ventajas se encuentran en la confiabilidad de la señal y las capacidades de control de riesgos, mientras que se debe prestar atención a los riesgos de señales falsas en los mercados de rango. A través de medidas de optimización como la adición de filtrado de volatilidad y confirmación de la fuerza de la tendencia, la estabilidad y la rentabilidad de la estrategia pueden mejorarse aún más. En general, esta es una estrategia comercial con valor práctico, particularmente adecuada para los operadores de tendencias a medio y largo plazo.
/*backtest start: 2024-12-17 00:00:00 end: 2025-01-16 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy(title="RSI + WMA + EMA Strategy", shorttitle="RSI Strategy", overlay=true) // RSI Settings rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings") rsiSourceInput = input.source(close, "Source", group="RSI Settings") // WMA and EMA Settings wmaLengthInput = input.int(45, minval=1, title="WMA Length", group="WMA Settings") wmaColorInput = input.color(color.blue, title="WMA Color", group="WMA Settings") emaLengthInput = input.int(89, minval=1, title="EMA Length", group="EMA Settings") emaColorInput = input.color(color.purple, title="EMA Color", group="EMA Settings") // RSI Calculation change = ta.change(rsiSourceInput) up = ta.rma(math.max(change, 0), rsiLengthInput) down = ta.rma(-math.min(change, 0), rsiLengthInput) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) // WMA and EMA Calculation wma = ta.wma(rsi, wmaLengthInput) ema = ta.ema(rsi, emaLengthInput) // Plot RSI, WMA, and EMA plot(rsi, "RSI", color=#7E57C2) plot(wma, title="WMA", color=wmaColorInput, linewidth=2) plot(ema, title="EMA", color=emaColorInput, linewidth=2) // Entry and Exit Conditions longCondition = ta.crossover(wma, ema) and rsi < 50 shortCondition = ta.crossunder(wma, ema) and rsi > 50 if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) // Optional: Plot Buy/Sell Signals on Chart plotshape(series=longCondition, style=shape.labelup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") plotshape(series=shortCondition, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")