Estrategia de tendencia de múltiples marcos temporales basada en la ruptura de la banda de Bollinger y el indicador RSI


Fecha de creación: 2024-02-21 13:59:31 Última modificación: 2024-02-21 13:59:31
Copiar: 0 Número de Visitas: 659
1
Seguir
1617
Seguidores

Estrategia de tendencia de múltiples marcos temporales basada en la ruptura de la banda de Bollinger y el indicador RSI

Descripción general

Esta estrategia combina el indicador de la banda de Brin, el indicador RSI y el análisis de múltiples marcos temporales para capturar la dirección de la tendencia de la línea media y larga. Combina el RSI con las señales de compra y venta para determinar el punto de reversión de la tendencia a través de la banda de Brin y la ruptura de la vía ascendente y descendente.

Principio de estrategia

  1. Aplicar el indicador de la banda de Brin para determinar la ruptura del precio. El medio de la banda de Brin es el promedio móvil del precio de cierre de N días, y los carriles superiores y inferiores son una diferencia estándar respectivamente en el medio y en el fondo.

  2. Combinando el indicador RSI para determinar el fenómeno de sobreventa y sobrecompra. RSI mayor a 70 es zona de sobreventa y menor a 30 es zona de sobreventa. Cuando RSI rompe 70 desde abajo hacia arriba, se considera que está en estado de sobreventa, Brin lleva una ruptura en la vía como confirmación de la reversión de la tendencia.

  3. Aplicación de un marco de tiempo más alto para filtrar falsas rupturas. En caso de una señal de ruptura en la línea del día, se requiere un marco de tiempo de 4 horas o más como confirmación para evitar que se bloquee.

Ventajas estratégicas

  1. La integración de múltiples indicadores para mejorar la estabilidad y rentabilidad de las estrategias.

  2. El indicador RSI determina el punto de inflexión, lo que puede reducir los daños causados por las falsas brechas.

  3. El análisis de múltiples marcos de tiempo permite filtrar el movimiento de la oscilación y evitar que se bloquee.

  4. Optimización de las señales de ruptura ((Las 3 líneas K deben atravesar la banda de Brin para subir y bajar), para asegurar que la tendencia se desarrolle y madure para entrar en juego.

  5. El indicador Vortex determina la dirección de la tendencia y capta las nuevas tendencias que se están formando.

Riesgo estratégico

  1. La configuración incorrecta de los parámetros de las bandas de Bryn puede causar errores en las señales de sobreventa y sobreventa.

  2. La configuración de los parámetros de RSI requiere determinar un valor razonable según las diferentes variedades.

  3. Las señales de ruptura pueden presentar falsas rupturas, por lo que se debe aumentar la diferencia de stop loss adecuadamente.

  4. Garantiza un amplio margen de pérdidas, como 3 veces el índice ATR.

Dirección de optimización de la estrategia

  1. Aplicación de algoritmos de aprendizaje automático para optimizar en tiempo real los parámetros de la banda de Bryn y el RSI.

  2. Optimización de la diferencia de pérdidas mediante el uso de indicadores de volatilidad.

  3. Aumentar el módulo de control de volumen de operaciones y ajustar posiciones según los cambios en el mercado.

  4. Limitar el porcentaje de pérdidas por transacción en combinación con los principios de administración de fondos.

  5. Evaluar la estabilidad de las señales de ruptura en diferentes momentos de la operación.

Resumir

Esta estrategia tiene en cuenta varios indicadores técnicos, como el juicio de tendencias, el fenómeno de sobrecompra y sobreventa, el análisis de varios marcos de tiempo, y, con el fin de controlar el riesgo, elegir el momento adecuado de entrada en el mercado, capturar la tendencia de calidad de la línea media y larga, y obtener una mejor rentabilidad. También hay espacio para una optimización adicional, a través de la optimización de parámetros y el perfeccionamiento del mecanismo de detención de pérdidas.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © Noway0utstorm
//@version=5
strategy(title='Vortex0.71.3 + bb 3bar breakout + rsi - close hit upper or lower', shorttitle='truongphuthinh', format=format.price, precision=4,overlay = true)

length = input(20, title="Length")
mult = input(2.0, title="Multiplier")
source = close

basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)

upperBand = basis + dev
lowerBand = basis - dev

isClosedBar = ta.change(time("15"))

var bool closeAboveUpperBand = false
var bool closeBelowLowerBand = false


// Vortex Indicator Settings
period_ = input.int(14, title='Period', minval=2)

VMP = math.sum(math.abs(high - low[1]), period_)
VMM = math.sum(math.abs(low - high[1]), period_)
STR = math.sum(ta.atr(1), period_)
VIP = VMP / STR
VIM = VMM / STR

//
lengthrsi = input(14, title="RSI Length")
overboughtLevel = input(70, title="Overbought Level")
oversoldLevel = input(30, title="Oversold Level")

sourcersi = close
rsiValue = ta.rsi(sourcersi, lengthrsi)

shouldShort = rsiValue > overboughtLevel
shouldLong = rsiValue < oversoldLevel




if bool(isClosedBar[1]) and bool(isClosedBar[2]) and bool(isClosedBar[3])

    if close[1] > upperBand[1] and close[2] > upperBand[2] and close[3] > upperBand[3] and VIP > 1.25 and VIM < 0.7 and rsiValue > overboughtLevel
        strategy.entry("Short", strategy.short)
        closeAboveUpperBand := false  // Reset the condition when entering a new Short position
    if close[1] < lowerBand[1] and close[2] < lowerBand[2] and close[3] < lowerBand[3] and VIP < 0.7 and VIM > 1.25 and rsiValue < oversoldLevel
        strategy.entry("Long", strategy.long)
        closeBelowLowerBand := false  // Reset the condition when entering a new Long position



if strategy.position_size > 0  // Check if there is an open Long position
    closeAboveUpperBand := close > upperBand  // Update the condition based on close price
    if closeAboveUpperBand
        strategy.close("Long",disable_alert=true)  // Close the Long position if close price is above upper band

if strategy.position_size < 0  // Check if there is an open Short position
    closeBelowLowerBand := close < lowerBand  // Update the condition based on close price
    if closeBelowLowerBand
        strategy.close("Short",disable_alert=true)  // Close the Short position if close price is below lower band

// Plots
plot(basis, color=color.orange, title="Basis")
p1 = plot(upperBand, color=color.blue, title="Upper Band")
p2 = plot(lowerBand, color=color.blue, title="Lower Band")
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))