RSI CCI Williams%R Estrategia de negociación cuantitativa

El autor:¿ Qué pasa?, Fecha: 2024-01-24 11:18:08
Las etiquetas:

img

Resumen de la estrategia

Esta estrategia combina tres indicadores de clasificación: RSI, CCI y Williams%R para generar señales comerciales efectivas. Emitirá señales de compra o venta cuando los tres indicadores muestren simultáneamente señales de sobrecompra o sobreventa. En comparación con el uso de un solo indicador, esta estrategia compuesta filtra más señales falsas y mejora la estabilidad.

La estrategia se llama Estrategia de arrastre de tres rutas. Three Trail se refiere a la combinación de RSI, CCI y Williams%R. Trawler hace una analogía con la estrategia de arrastre de oportunidades como un arrastre pesquero.

Estrategia lógica

La estrategia se basa principalmente en los siguientes indicadores para las decisiones comerciales:

  1. Indicador RSI que evalúa los niveles de sobrecompra/sobreventa
  2. Indicador CCI que identifica los puntos de inflexión
  3. Indicador Williams%R que confirma las señales de negociación

Cuando el RSI está por debajo de 25, indica un estado de sobreventa. Cuando el RSI está por encima de 75, indica un estado de sobrecompra. La misma lógica se aplica a los parámetros CCI y Williams%R.

Cuando los tres indicadores muestran simultáneamente señales de compra, es decir, RSI < 25, CCI < -130, Williams %R < -85, la estrategia será larga. Cuando los tres indicadores muestran simultáneamente señales de venta, es decir, RSI > 75, CCI > 130, Williams %R > -15, la estrategia será corta.

Esto evita señales falsas de un solo indicador y mejora la confiabilidad. También configura stop loss y take profit para controlar los riesgos y los rendimientos por operación.

Ventajas

  1. Combinación de múltiples indicadores filtra señales falsas
    Al combinar RSI, CCI y Williams%R, la estrategia filtra algunas señales falsas de indicadores individuales, mejorando la precisión.

  2. Auto stop de pérdidas/beneficios gestiona los riesgos Las funciones integradas de stop loss y take profit establecen automáticamente los precios de salida para cada operación, limitando efectivamente las pérdidas dentro de umbrales tolerables.

  3. Negociación a medio plazo La estrategia funciona mejor para las operaciones a medio plazo, identificando claramente los puntos de inflexión a medio plazo a través de la combinación de indicadores.

  4. Datos sólidos de las pruebas de retroceso
    La estrategia utiliza barras de 45 minutos del EUR/USD, un par de divisas importante con abundante liquidez y datos, reduciendo los riesgos de sobreajuste de datos insuficientes.

Los riesgos

  1. Identificación de tendencias débiles a largo plazo
    La estrategia se basa más en señales contrarias. Sus capacidades para medir y seguir tendencias a largo plazo son limitadas. Durante los mercados unidireccionales de larga duración, el potencial de ganancia está limitado.

  2. Falta de oscilaciones a corto plazo Con barras de 45 minutos, la estrategia pierde oportunidades rentables por fluctuaciones de precios a corto plazo más frecuentes.

  3. Riesgos sistémicos
    La estrategia se aplica principalmente al EUR/USD. En tiempos de grave crisis económica que sacude el mercado global de divisas, sus reglas de negociación podrían fallar, incurriendo en enormes pérdidas.

Áreas de mejora

  1. Adición de indicadores de tendencia
    Trate de incorporar métricas de tendencia como MA, Boll, etc. para ayudar al reconocimiento de tendencias a largo plazo.

  2. Optimización de los parámetros de stop loss/profit Reanudar más datos históricos para evaluar el impacto de varios parámetros de stop loss/beneficio en la rentabilidad final, con el fin de encontrar el ajuste óptimo.

  3. Productos en expansión
    Actualmente se aplica principalmente al EUR/USD. Podemos intentar desplegarlo en otros pares de divisas importantes como GBP, JPY, AUD para examinar su estabilidad y transferencia.

Conclusión

La estrategia Three Trail Trawler identifica los puntos de inversión de precios para las señales de sobrecompra/sobreventa utilizando una combinación de RSI, CCI y Williams %R. En comparación con las métricas individuales, esta configuración de múltiples indicadores filtra más señales falsas y mejora la precisión. Las funciones de stop loss / take profit automatizadas también ayudan a limitar los riesgos comerciales. En general, es una estrategia estable adecuada para el comercio a mediano plazo y puede ser un módulo valioso en nuestros sistemas cuantitativos. Aún así, debemos prestar atención a sus deficiencias en la detección de tendencias a largo plazo y la captura de oscilaciones a corto plazo. Las medidas de ajuste fino como agregar métricas de tendencia, optimizar parámetros de salida y expandir productos mejorarán la estrategia como un motor de beneficios constante para nuestros sistemas cuantitativos.


/*backtest
start: 2024-01-16 00:00:00
end: 2024-01-23 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("RSI CCI Williams %R Strategy with TP and SL", overlay=true)

// Input parameters for indicators
rsi_period = input(14, title="RSI Period")
cci_period = input(20, title="CCI Period")
williams_period = input(14, title="Williams %R Period")

// Thresholds for overbought and oversold conditions
rsi_oversold = input(25, title="RSI Oversold Level")
rsi_overbought = input(75, title="RSI Overbought Level")
cci_oversold = input(-130, title="CCI Oversold Level")
cci_overbought = input(130, title="CCI Overbought Level")
williams_oversold = input(-85, title="Williams %R Oversold Level")
williams_overbought = input(-15, title="Williams %R Overbought Level")

// Take profit and stop loss levels as a percentage
take_profit_pct = input(1.2, title="Take Profit (%)") / 100
stop_loss_pct = input(0.45, title="Stop Loss (%)") / 100

// Indicator calculations
rsi = ta.rsi(close, rsi_period)
cci = ta.cci(close, cci_period)
highestHigh = ta.highest(high, williams_period)
lowestLow = ta.lowest(low, williams_period)
williamsR = (highestHigh - close) / (highestHigh - lowestLow) * -100

// Entry conditions
longCondition = rsi < rsi_oversold and cci < cci_oversold and williamsR < williams_oversold and strategy.position_size == 0
shortCondition = rsi > rsi_overbought and cci > cci_overbought and williamsR > williams_overbought and strategy.position_size == 0

// Execute strategy entry orders
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit or Stop Loss Long", "Long", limit=close * (1 + take_profit_pct), stop=close * (1 - stop_loss_pct))

if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit or Stop Loss Short", "Short", limit=close * (1 - take_profit_pct), stop=close * (1 + stop_loss_pct))

// Plot the signals on the chart
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, text="SELL")

// Plot the indicators for visualization
plot(rsi, title="RSI", color=color.blue)
plot(cci, title="CCI", color=color.purple)
plot(williamsR, title="Williams %R", color=color.orange)

Más.