Estrategia de doble tendencia de impulso

El autor:¿ Qué pasa?, Fecha: 2024-01-22 17:04:36
Las etiquetas:

img

Resumen general

Esta estrategia combina el índice de fuerza relativa (RSI) y los indicadores de bandas de Bollinger para implementar una lógica de confirmación dual para entradas y salidas.

Estrategia lógica

  1. Lógico de juicio RSI
    • El RSI que cruza por encima de 45 se considera una señal de sobreventa.
    • El RSI que cruce por debajo de 55 se considera una señal de sobrecompra.
  2. Las bandas de Bollinger La lógica del juicio
    • El cruce de precios por encima de la banda baja de Bollinger se considera sobreventa
    • El cruce de precios por debajo de la banda superior de Bollinger se considera sobrecomprado
  3. Lógica de confirmación doble
    • La posición larga se abre sólo cuando tanto el RSI como las bandas de Bollinger muestran una señal de sobreventa
    • La posición corta se abre sólo cuando tanto el RSI como las bandas de Bollinger muestran una señal de sobrecompra

La lógica anterior implementa una estrategia estable de doble confirmación para las entradas y salidas.

Análisis de ventajas

  1. El mecanismo de doble confirmación filtra una gran cantidad de operaciones de ruido, evita operaciones innecesarias, reduce los costos comerciales y mejora la rentabilidad.

  2. El RSI es eficaz en la identificación de tendencias e inversiones. Las bandas de Bollinger son eficaces en juzgar soportes y resistencias. Los dos se complementan perfectamente.

  3. Configuración de parámetros flexibles, puede ajustarse en función de diferentes productos y preferencias comerciales, altamente adaptable.

Análisis de riesgos

  1. En los mercados de rango, el RSI y las bandas de Bollinger pueden emitir señales incorrectas al mismo tiempo, causando pérdidas innecesarias.

  2. El mecanismo de doble confirmación aumenta ligeramente el retraso de entrada, posiblemente perdiendo oportunidades comerciales a muy corto plazo.

  3. La estrategia es muy sensible a los parámetros. La configuración inadecuada de parámetros puede reducir en gran medida la rentabilidad. Se necesitan pruebas y revisiones suficientes para encontrar la combinación óptima de parámetros.

Direcciones de optimización

  1. Prueba los indicadores RSI con diferentes períodos para encontrar el mejor parámetro de período de coincidencia para mejorar la eficiencia.

  2. Añadir una lógica de stop loss, establecer un stop loss móvil razonable o un stop loss fijo para controlar el riesgo de pérdida de una sola operación.

  3. Prueba el parámetro de ancho de banda de Bollinger para optimizar el rango del canal y mejorar la eficiencia.

  4. Prueba diferentes entradas de precios como cerrar, alto, bajo, etc. para encontrar la mejor entrada de precio para mejorar la estabilidad.

Resumen de las actividades

La estrategia combina con éxito los indicadores RSI y Bollinger Bands para implementar una lógica de confirmación dual, asegurando oportunidades comerciales suficientes mientras reduce efectivamente las operaciones de ruido.


/*backtest
start: 2023-12-22 00:00:00
end: 2024-01-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Bollinger + RSI, Double Strategy (by ChartArt)", shorttitle="CA_-_RSI_Bol_Strat", overlay=true)

// ChartArt's RSI + Bollinger Bands, Double Strategy
//
// Version 1.0
// Idea by ChartArt on January 14, 2015.
//
// This strategy uses a modfied RSI to sell
// when the RSI increases over the value of 55
// (or to buy when the value falls below 45),
// with the classic Bollinger Bands strategy
// to sell when the price is above the
// upper Bollinger Band (and to buy when
// this value is below the lower band).
//
// This simple strategy only triggers when
// both the RSI and the Bollinger Bands
// indicators are at the same time in
// a overbought or oversold condition.
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/
// 
//  __             __  ___       __  ___ 
// /  ` |__|  /\  |__)  |   /\  |__)  |  
// \__, |  | /~~\ |  \  |  /~~\ |  \  |  
// 
// 


///////////// RSI
RSIlength = input( 16 ,title="RSI Period Length") 
RSIvalue = input( 45 ,title="RSI Value Range") 
RSIoverSold = 0 + RSIvalue
RSIoverBought = 100 - RSIvalue
price = close
vrsi = rsi(price, RSIlength)


///////////// Bollinger Bands
BBlength = input(20, minval=1,title="Bollinger Bands SMA Period Length")
BBmult = input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyEntry = crossover(source, BBlower)
sellEntry = crossunder(source, BBupper)
plot(BBbasis, color=aqua,title="Bollinger Bands SMA Basis Line")
p1 = plot(BBupper, color=silver,title="Bollinger Bands Upper Line")
p2 = plot(BBlower, color=silver,title="Bollinger Bands Lower Line")
fill(p1, p2)


///////////// Colors
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Background Color?")
TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) ? red : RSIoverSold and (price[1] < BBlower and price > BBlower)  ? green : na
barcolor(switch1?TrendColor:na)
bgcolor(switch2?TrendColor:na,transp=50)


///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))

    if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower))
        strategy.entry("RSI_BB_L", strategy.long, stop=BBlower,  comment="RSI_BB_L")
    else
        strategy.cancel(id="RSI_BB_L")
        
    if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper))
        strategy.entry("RSI_BB_S", strategy.short, stop=BBupper, comment="RSI_BB_S")
    else
        strategy.cancel(id="RSI_BB_S")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Más.