Estrategia cuantitativa de combinación de soporte y resistencia y divergencia del RSI de múltiples períodos

RSI
Fecha de creación: 2024-12-20 17:01:44 Última modificación: 2024-12-20 17:01:44
Copiar: 4 Número de Visitas: 539
1
Seguir
1617
Seguidores

Estrategia cuantitativa de combinación de soporte y resistencia y divergencia del RSI de múltiples períodos

Descripción general

La estrategia es un sistema de comercio cuantitativo que combina el indicador técnico RSI, el desvío del precio y el soporte de la resistencia. La estrategia determina las señales de comercio mediante la identificación de la relación de desvío entre el RSI y el precio, y la combinación de brechas en el soporte de la resistencia, al tiempo que integra mecanismos de stop loss y stop loss para controlar el riesgo.

Principio de estrategia

La estrategia se basa en los siguientes componentes centrales:

  1. Calculación del RSI: utiliza un indicador de fuerza relativa de 14 ciclos (RSI) para medir la dinámica de los precios
  2. Identificación de puntos de resistencia de soporte: determina los niveles de precios clave a través de los máximos y mínimos de 50 ciclos
  3. El juicio no es justo:
    • Desviación del mercado alcista: cuando el precio es innovador bajo y el RSI no es innovador bajo, y el precio está por encima del soporte
    • Desviación del mercado bajista: cuando el precio es innovador y el RSI no es innovador y está por debajo de la resistencia
  4. Gestión de riesgos:
    • Establece un 1% de pérdida después de la entrada
    • Se estableció un objetivo de contención del 2%.

Ventajas estratégicas

  1. Mecanismo de confirmación múltiple: combina el indicador de dinámica (RSI), la forma de los precios (desviación) y la estructura del mercado (resistencia de soporte), proporcionando una señal de negociación más confiable
  2. Control de riesgos: el mecanismo de suspensión de pérdidas predeterminado controla el riesgo de cada operación
  3. Adaptabilidad: los parámetros de la estrategia se pueden ajustar a las diferentes condiciones del mercado
  4. Las señales son claras: las condiciones de las transacciones son claras, fáciles de ejecutar y de rastrear

Riesgo estratégico

  1. Riesgo de brechas falsas: Las señales de brechas falsas pueden ser frecuentes en el mercado horizontal
  2. Sensibilidad de los parámetros: el ciclo RSI, la elección del ciclo de soporte y resistencia tiene un mayor impacto en el rendimiento de la estrategia
  3. Efectos de los puntos de deslizamiento: en un mercado rápido, el precio de transacción real puede estar desviado del precio de la señal
  4. Dependencia del entorno del mercado: mejor desempeño en mercados con una tendencia evidente, mientras que puede generar falsas señales en mercados convulsivos

Dirección de optimización de la estrategia

  1. Optimización del marco de tiempo: se puede agregar un mecanismo de confirmación de múltiples marcos de tiempo para mejorar la fiabilidad de la señal
  2. Optimización de la parada de pérdidas: se pueden introducir mecanismos dinámicos de parada de pérdidas, como el seguimiento de la parada de pérdidas
  3. Introducción de filtros: añade filtros como el volumen de tráfico, la fluctuación, etc., para reducir las falsas señales
  4. Adaptación de parámetros: desarrollo de mecanismos de adaptación de parámetros que permiten a las estrategias ajustar automáticamente los parámetros según las condiciones del mercado

Resumir

La estrategia, mediante la combinación de varios conceptos importantes en el análisis técnico, construye un sistema de negociación relativamente completo. Las ventajas de la estrategia residen en el mecanismo de confirmación múltiple y el control de riesgos perfectos, pero también enfrenta los desafíos de la selección de parámetros y la dependencia del entorno del mercado.

Código Fuente de la Estrategia
/*backtest
start: 2024-12-12 00:00:00
end: 2024-12-19 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("Агрессивная стратегия с дивергенциями по RSI и уровнями поддержки/сопротивления", overlay=true)

// Параметры для RSI
rsiLength = input.int(14, title="Период для RSI", minval=1)   // Период для расчета RSI
rsiOverbought = input.int(70, title="Уровень перекупленности", minval=1, maxval=100)
rsiOversold = input.int(30, title="Уровень перепроданности", minval=1, maxval=100)

// Параметры для стоп-лосса и тейк-профита
stopLossPercent = input.float(1, title="Стоп-лосс (%)", minval=0.1) / 100
takeProfitPercent = input.float(2, title="Тейк-профит (%)", minval=0.1) / 100

// Период для уровней поддержки и сопротивления
supportResistanceLength = input.int(50, title="Период для уровней поддержки и сопротивления", minval=1)

// Рассчитываем RSI
rsi = ta.rsi(close, rsiLength)

// Рассчитываем уровни поддержки и сопротивления
support = ta.lowest(close, supportResistanceLength)  // Находим минимумы за период для поддержки
resistance = ta.highest(close, supportResistanceLength)  // Находим максимумы за период для сопротивления

// Определяем дивергенцию RSI с ценой
priceHigh = ta.highest(close, rsiLength)
priceLow = ta.lowest(close, rsiLength)
rsiHigh = ta.highest(rsi, rsiLength)
rsiLow = ta.lowest(rsi, rsiLength)

// Дивергенция на покупку (бычья): цена делает новый минимум, а RSI этого не делает
bullishDivergence = priceLow < priceLow[1] and rsiLow > rsiLow[1] and close > support

// Дивергенция на продажу (медвежья): цена делает новый максимум, а RSI этого не делает
bearishDivergence = priceHigh > priceHigh[1] and rsiHigh < rsiHigh[1] and close < resistance

// Отображаем уровни поддержки и сопротивления
plot(support, title="Поддержка", color=color.green, linewidth=2, style=plot.style_line)
plot(resistance, title="Сопротивление", color=color.red, linewidth=2, style=plot.style_line)

// Условия для покупки по бычьей дивергенции
if (bullishDivergence)
    strategy.entry("Long", strategy.long)
    stopLoss = close * (1 - stopLossPercent)   // Стоп-лосс
    takeProfit = close * (1 + takeProfitPercent) // Тейк-профит
    strategy.exit("Exit Long", from_entry="Long", stop=stopLoss, limit=takeProfit)

// Условия для продажи по медвежьей дивергенции
if (bearishDivergence)
    strategy.entry("Short", strategy.short)
    stopLoss = close * (1 + stopLossPercent)   // Стоп-лосс для шорта
    takeProfit = close * (1 - takeProfitPercent) // Тейк-профит для шорта
    strategy.exit("Exit Short", from_entry="Short", stop=stopLoss, limit=takeProfit)

// Отображаем RSI на отдельном графике
plot(rsi, title="RSI", color=color.blue, linewidth=2)
hline(rsiOverbought, "Перекупленность", color=color.red)
hline(rsiOversold, "Перепроданность", color=color.green)