Estrategia de trading dinámico con umbral de choque RSI adaptativo

RSI ATR BAT LR SD
Fecha de creación: 2024-11-12 16:07:32 Última modificación: 2024-11-12 16:07:32
Copiar: 2 Número de Visitas: 498
1
Seguir
1617
Seguidores

Estrategia de trading dinámico con umbral de choque RSI adaptativo

Descripción general

La estrategia es un sistema de negociación adaptativo basado en el RSI (indicador de la fuerza relativa) que optimiza la generación de señales de negociación mediante el ajuste dinámico de los umbrales de sobreventa y sobreventa. La innovación central de la estrategia consiste en la introducción del método Bufi de ajuste de los umbrales (BAT), que ajusta los umbrales de activación del RSI en función de las tendencias del mercado y la dinámica de la volatilidad de los precios, lo que mejora la eficacia de la estrategia RSI tradicional.

Principio de estrategia

El núcleo de la estrategia es la actualización del sistema RSI de valoración fija tradicional a un sistema de valoración dinámica. La implementación concreta es la siguiente:

  1. Utiliza el RSI de corto plazo para calcular el estado de sobreventa en el mercado
  2. Escala de tendencia de precios calculada por regresión lineal
  3. El uso de la diferencia estándar para medir la volatilidad de los precios
  4. Integración de tendencias y fluctuaciones para ajustar dinámicamente los mínimos del RSI
  5. Aumento de la depreciación en la tendencia al alza y reducción de la depreciación en la tendencia a la baja
  6. Reducción de la sensibilidad a la depresión cuando el precio se desvía mucho de la media

La estrategia también incluye dos mecanismos de control de riesgos:

  • Mecanismo de liquidación periódica fija
  • Mecanismo para detener la pérdida máxima

Ventajas estratégicas

  1. Es una forma de hacer que las personas sean más flexibles y adaptables.
  • Capaz de ajustar automáticamente el umbral de negociación según el estado del mercado
  • Evitar el uso de parámetros fijos en diferentes entornos de mercado
  1. El control de riesgos es perfecto:
  • Con un límite máximo de tiempo de tenencia de posiciones
  • Incluye un mecanismo de protección contra pérdidas de capital
  • Gestión de posiciones por porcentaje
  1. La calidad de la señal mejoró:
  • Las falsas señales para reducir la oscilación del mercado
  • Mejorar la capacidad de captura de los mercados de tendencias
  • Equilibrio entre sensibilidad y estabilidad

Riesgo estratégico

  1. Sensibilidad de los parámetros:
  • La elección de los coeficientes de las mejores prácticas (BAT) influye en el rendimiento de la estrategia
  • La configuración del ciclo RSI requiere pruebas completas
  • Adaptación de los parámetros de longitud que requieren optimización
  1. El entorno del mercado depende de:
  • Oportunidades que se pueden perder en mercados muy volátiles
  • Los puntos de pérdida pueden deslizarse cuando hay una gran oscilación
  • Necesidad de ajustar los parámetros según los diferentes mercados
  1. Limites de la tecnología:
  • Término de cálculo basado en datos históricos
  • Puede haber retraso
  • Necesidad de considerar el impacto en los costos de las transacciones

Dirección de optimización de la estrategia

  1. Optimización de parámetros:
  • Introducción de un mecanismo de selección de parámetros adaptativos
  • Parámetros de ajuste según las diferentes dinámicas del ciclo del mercado
  • Aumentar la función de optimización automática de los parámetros
  1. Optimización de señal:
  • En combinación con otros indicadores técnicos
  • Añadir una función de reconocimiento de ciclo de mercado
  • Optimizar el tiempo de ingreso
  1. Optimización del control de riesgos:
  • Introducción de un mecanismo dinámico de detención de pérdidas
  • Optimización de las estrategias de gestión de posiciones
  • Añadir mecanismo de control de retroceso

Resumir

Esta es una estrategia de comercio de adaptación innovadora que resuelve las limitaciones de la estrategia tradicional de RSI a través de la optimización de la desvalorización dinámica. La estrategia tiene en cuenta las tendencias y la volatilidad del mercado, con una mayor capacidad de adaptación y control de riesgo.

Código Fuente de la Estrategia
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © PineCodersTASC

//  TASC Issue: October 2024
//     Article: Overbought/Oversold
//              Oscillators: Useless Or Just Misused
//  Article By: Francesco P. Bufi
//    Language: TradingView's Pine Script™ v5
// Provided By: PineCoders, for tradingview.com

//@version=5
title  ='TASC 2024.10 Adaptive Oscillator Threshold'
stitle = 'AdapThrs'
strategy(title, stitle, false, default_qty_type = strategy.percent_of_equity,
         default_qty_value = 10, slippage = 5)

// --- Inputs ---
string sys    = input.string("BAT", "System", options=["Traditional", "BAT"])
int rsiLen    = input.int(2, "RSI Length", 1)
int buyLevel  = input.int(14, "Buy Level", 0)
int adapLen   = input.int(8, "Adaptive Length", 2) 
float adapK   = input.float(6, "Adaptive Coefficient")
int exitBars  = input.int(28, "Fixed-Bar Exit", 1, group = "Strategy Settings")
float DSL     = input.float(1600, "Dollar Stop-Loss", 0, group = "Strategy Settings")

// --- Functions --- 
//  Bufi's Adaptive Threshold
BAT(float price, int length) =>
    float sd = ta.stdev(price, length)
    float lr = ta.linreg(price, length, 0)
    float slope = (lr - price[length]) / (length + 1)
    math.min(0.5, math.max(-0.5, slope / sd))

// --- Calculations ---
float osc = ta.rsi(close, rsiLen)

// Strategy entry rules
// - Traditional system
if sys == "Traditional" and osc < buyLevel
    strategy.entry("long", strategy.long)
// - BAT system 
float thrs = buyLevel * adapK * BAT(close, adapLen)
if sys == "BAT" and osc < thrs
    strategy.entry("long", strategy.long)

// Strategy exit rules
// - Fixed-bar exit
int nBar = bar_index - strategy.opentrades.entry_bar_index(0)
if exitBars > 0 and nBar >= exitBars
    strategy.close("long", "exit")
// - Dollar stop-loss
if DSL > 0 and strategy.opentrades.profit(0) <= - DSL
    strategy.close("long", "Stop-loss", immediately = true)

// Visuals
rsiColor  = #1b9e77
thrsColor = #d95f02
rsiLine   = plot(osc, "RSI", rsiColor, 1)
thrsLine  = plot(sys == "BAT" ? thrs : buyLevel, "Threshold", thrsColor, 1)
zeroLine  = plot(0.0, "Zero", display = display.none)
fill(zeroLine, thrsLine, sys == "BAT" ? thrs : buyLevel, 0.0, color.new(thrsColor, 60), na)