Estrategia de trading cuantitativo a corto plazo basada en el cruce de medias móviles dobles, RSI e indicadores estocásticos

SMA RSI ATR
Fecha de creación: 2024-06-17 15:35:40 Última modificación: 2024-06-17 15:35:40
Copiar: 1 Número de Visitas: 617
1
Seguir
1617
Seguidores

Estrategia de trading cuantitativo a corto plazo basada en el cruce de medias móviles dobles, RSI e indicadores estocásticos

Descripción general

La estrategia combina el cruce de dos líneas equiláreas, el RSI y el indicador aleatorio, para buscar oportunidades de comercio de alta ganancia en el comercio de líneas cortas a través de la confirmación conjunta de varios indicadores técnicos. La estrategia utiliza el cruce de dos medias móviles de 20 y 50 días como señal de comercio principal, mientras que combina el RSI y el indicador aleatorio como juicio auxiliar, para realizar una segunda confirmación de la señal de comercio.

Principio de estrategia

  1. Se calculan dos promedios móviles de 20 y 50 días, que generan señales de multiplicación cuando la media a corto plazo se cruza con la media a largo plazo; a la inversa, generan señales de diferenciación.
  2. Introducir el indicador RSI como un criterio auxiliar para considerar una posición cuando el indicador RSI no ha alcanzado un intervalo de sobreventa o sobreventa.
  3. Introducción de indicadores aleatorios como criterio auxiliar, sólo se considera la creación de una posición cuando la línea K del indicador aleatorio no alcanza el intervalo de sobreventa o sobreventa.
  4. Utiliza el ATR para calcular las posiciones de stop loss y stop loss, y establece el precio de stop loss y stop loss en función del riesgo-beneficio en relación de 1: 2.
  5. Cuando se hace más, la posición de stop loss es el precio mínimo menos el ATR, la posición de stop loss es el precio máximo más 2 veces el ATR; cuando se hace más, la posición de stop loss es el precio máximo más el ATR, la posición de stop stop es el precio mínimo menos 2 veces el ATR.

Ventajas estratégicas

  1. El cruce de dos líneas es un indicador de tendencia sencillo y fácil de usar, que en combinación con el RSI y el indicador aleatorio puede filtrar eficazmente las falsas señales.
  2. El RSI y los indicadores aleatorios pueden ayudar a determinar si el mercado está sobrecomprando y sobrevendendo, evitando entrar en condiciones extremas.
  3. La gestión de posiciones con un riesgo/beneficio fijo permite obtener un rendimiento relativamente estable a la vez que se controla el riesgo general.
  4. Los parámetros son ajustables para diferentes entornos de mercado y estilos de negociación.

Riesgo estratégico

  1. Las estrategias de tendencia son más propensas a generar falsas señales en mercados convulsivos, lo que genera una mayor frecuencia de operaciones y pérdidas de capital.
  2. El cierre de pérdidas por porcentaje fijo puede causar pérdidas excesivas en una sola operación y debilitar la curva de capital.
  3. La falta de consideraciones en cuanto a la gestión de posiciones y la gestión de fondos dificulta la respuesta a situaciones extremas.

Dirección de optimización de la estrategia

  1. Introducir más indicadores técnicos eficaces para mejorar la precisión y la fiabilidad de la señal.
  2. Optimización de la configuración de los paradas de pérdidas, con un enfoque más dinámico e inteligente para mejorar el nivel de ganancias de la estrategia.
  3. En cuanto a la gestión de posiciones, se puede combinar con indicadores de volatilidad como ATR para ajustar dinámicamente las posiciones.
  4. En cuanto a la gestión de fondos, la introducción de métodos como el presupuesto de riesgos, la fórmula de Kelly y otros, mejora la eficiencia de la utilización de fondos.

Resumir

La estrategia es una estrategia de negociación de corto plazo basada en la línea de paridad, el RSI y los indicadores aleatorios, mediante la confirmación conjunta de varios indicadores técnicos, para controlar el riesgo de negociación al mismo tiempo que se aprovechan las oportunidades de tendencia. La lógica de la estrategia es clara, los parámetros son fáciles de optimizar y son adecuados para los inversores que realizan operaciones de corto plazo. Sin embargo, la estrategia también tiene algunas deficiencias, como la capacidad limitada de captación de tendencias, la falta de gestión dinámica de las posiciones y los fondos.

Código Fuente de la Estrategia
/*backtest
start: 2024-05-17 00:00:00
end: 2024-06-16 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Cruce de Medias con Filtros de RSI y Estocástico", overlay=true)

// Definir parámetros de las medias móviles
fast_length = input(20, title="Periodo de Media Rápida")
slow_length = input(50, title="Periodo de Media Lenta")

// Calcular medias móviles
fast_ma = ta.sma(close, fast_length)
slow_ma = ta.sma(close, slow_length)

// Añadir filtro RSI
rsi_length = input(7, title="Periodo del RSI")
rsi = ta.rsi(close, rsi_length)
rsi_overbought = input(70, title="RSI Sobrecomprado")
rsi_oversold = input(30, title="RSI Sobrevendido")

// Añadir filtro Estocástico
k_period = input(7, title="K Periodo del Estocástico")
d_period = input(3, title="D Periodo del Estocástico")
smooth_k = input(3, title="Suavización del Estocástico")
stoch_k = ta.sma(ta.stoch(close, high, low, k_period), smooth_k)
stoch_d = ta.sma(stoch_k, d_period)
stoch_overbought = input(80, title="Estocástico Sobrecomprado")
stoch_oversold = input(20, title="Estocástico Sobrevendido")

// Definir niveles de stop-loss y take-profit con ratio 2:1
risk = input(1, title="Riesgo en ATR")
reward_ratio = input(2, title="Ratio Riesgo/Beneficio")
atr_length = input(14, title="Periodo del ATR")
atr = ta.atr(atr_length)
stop_loss = risk * atr
take_profit = reward_ratio * stop_loss

// Señal de compra
long_condition = ta.crossover(fast_ma, slow_ma) and rsi < rsi_overbought and stoch_k < stoch_overbought
if (long_condition)
    strategy.entry("Compra", strategy.long)

// Señal de venta
short_condition = ta.crossunder(fast_ma, slow_ma) and rsi > rsi_oversold and stoch_k > stoch_oversold
if (short_condition)
    strategy.entry("Venta", strategy.short)

// Configurar Stop-Loss y Take-Profit para posiciones largas
if (strategy.position_size > 0)
    strategy.exit("Take Profit/Stop Loss", from_entry="Compra", stop=low - stop_loss, limit=high + take_profit)

// Configurar Stop-Loss y Take-Profit para posiciones cortas
if (strategy.position_size < 0)
    strategy.exit("Take Profit/Stop Loss", from_entry="Venta", stop=high + stop_loss, limit=low - take_profit)

// Plotear las medias móviles en el gráfico
plot(fast_ma, title="Media Rápida (50)", color=color.blue)
plot(slow_ma, title="Media Lenta (200)", color=color.red)

// Plotear RSI y Estocástico en subgráficos
hline(rsi_overbought, "RSI Sobrecomprado", color=color.red)
hline(rsi_oversold, "RSI Sobrevendido", color=color.green)
plot(rsi, title="RSI", color=color.orange, linewidth=2)
hline(stoch_overbought, "Estocástico Sobrecomprado", color=color.red)
hline(stoch_oversold, "Estocástico Sobrevendido", color=color.green)
plot(stoch_k, title="Estocástico K", color=color.purple, linewidth=2)
plot(stoch_d, title="Estocástico D", color=color.purple, linewidth=1, style=plot.style_stepline)