Estrategia de negociación de retroceso del RSI con cruce descendente de bandas de Bollinger


Fecha de creación: 2023-12-26 12:08:44 Última modificación: 2023-12-26 12:08:44
Copiar: 1 Número de Visitas: 588
1
Seguir
1621
Seguidores

Estrategia de negociación de retroceso del RSI con cruce descendente de bandas de Bollinger

Descripción general

La estrategia utiliza el indicador de la banda de Brin para determinar si el precio está entrando en una zona de sobreventa y sobreventa, en combinación con el indicador RSI para determinar si hay oportunidades de reajuste, para hacer hueco cuando se forma un forquillo muerto en la zona de sobreventa y para detenerse cuando el precio sube más allá de la banda de Brin.

Principio de estrategia

La estrategia se basa principalmente en los siguientes principios:

  1. Cuando el precio de cierre se pone en marcha a través de la banda de Brin, indica que el activo está en zona de sobrecompra y que hay oportunidades de reajuste
  2. El RSI es un indicador eficaz para determinar zonas de sobreventa y sobrecompra.
  3. Hacer una posición baja cuando el precio de cierre está por debajo de la línea superior
  4. Cuando el RSI retrocede desde una zona de sobreventa o se dispara en un punto de parada, se detiene la posición en línea.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. El uso de las bandas de Brin para determinar zonas de sobrecompra y sobreventa para mejorar la tasa de éxito de las operaciones
  2. Combinando el RSI con la posibilidad de un falso brote de filtración para evitar pérdidas innecesarias
  3. La relación de ganancias y pérdidas es alta y los riesgos están controlados al máximo.

Análisis de riesgos

La estrategia tiene los siguientes riesgos:

  1. La subida continuada después de la ruptura de la vía condujo a una mayor pérdida.
  2. El RSI no retrocedió a tiempo y las pérdidas se expandieron
  3. Las posiciones unilaterales no permiten la liquidación del mercado.

El riesgo puede reducirse de la siguiente manera:

  1. Ajuste adecuado de los puntos de parada y el tiempo de parada
  2. Combinación de otros indicadores para juzgar la señal de retroceso del RSI
  3. Indicadores de línea media para determinar si se ha convertido en una recomposición

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Optimización de los parámetros de la franja de Brin para adaptarse a más variedades comerciales
  2. Optimización de los parámetros del RSI para mejorar la eficacia del indicador
  3. Añadir una combinación de otros indicadores para determinar el punto de inflexión de la tendencia
  4. Añadir una lógica de transacción múltiple
  5. Combinado con una estrategia de stop loss, ajuste dinámico de los puntos de stop loss

Resumir

La estrategia en su conjunto es una estrategia de comercio de línea corta rápida típica de zona de sobrecompra. Utiliza la banda de Brin para determinar el punto de compra y venta, las señales de filtración RSI. Controla el nivel de riesgo mediante un stop loss razonable.

Código Fuente de la Estrategia
/*backtest
start: 2023-11-01 00:00:00
end: 2023-11-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule


strategy("Bollinger Band Below Price with RSI",
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=70,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0

//Bollinger Bands Indicator
length = input.int(20, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))

// RSI inputs and calculations
lengthRSI = 14
RSI = ta.rsi(close, lengthRSI)



// Configure trail stop level with input options
longTrailPerc = input.float(title='Trail Long Loss (%)', minval=0.0, step=0.1, defval=3) * 0.01
shortTrailPerc = input.float(title='Trail Short Loss (%)', minval=0.0, step=0.1, defval=3) * 0.01

// Determine trail stop loss prices
//longStopPrice = 0.0
shortStopPrice = 0.0

//longStopPrice := if strategy.position_size > 0
    //stopValue = close * (1 - longTrailPerc)
    //math.max(stopValue, longStopPrice[1])
//else
    //0

shortStopPrice := if strategy.position_size < 0
    stopValue = close * (1 + shortTrailPerc)
    math.min(stopValue, shortStopPrice[1])
else
    999999


//Entry and Exit
strategy.entry(id="short", direction=strategy.short, when=ta.crossover(close, upper) and RSI < 70 and timePeriod and notInTrade)

if (ta.crossover(upper, close) and RSI > 70 and timePeriod)
    strategy.exit(id='close', limit = shortStopPrice)