Estrategia comercial combinada de ruptura de cierre de bandas triple BB e indicador RSI


Fecha de creación: 2024-02-29 14:57:49 Última modificación: 2024-02-29 14:57:49
Copiar: 1 Número de Visitas: 627
1
Seguir
1617
Seguidores

Estrategia comercial combinada de ruptura de cierre de bandas triple BB e indicador RSI

Descripción general

La estrategia genera señales de negociación mediante la combinación del uso del indicador de la banda de Brin y el indicador RSI, un índice relativamente débil. Monitoriza si el precio de cierre de las tres líneas K está rompiendo el camino hacia arriba o hacia abajo al mismo tiempo, y combina el indicador de turnos y el indicador RSI para confirmar las señales de negociación.

Principio de estrategia

La estrategia se basa principalmente en los siguientes principios:

  1. Usar bandas de 20 pulgadas de longitud para considerar la emisión de señales de negociación cuando el cierre de precios se rompa en la vía ascendente o descendente
  2. El precio de cierre de las tres líneas K debe romperse al mismo tiempo para evitar falsas rupturas
  3. Combinado con el indicador de engranaje, el VIP de una fuerte sobrecompra es> 1.25, el VIM de una fuerte sobreventa es> 1.25, la señal de filtración
  4. Combinado con el indicador RSI para determinar si se está sobrecomprando o sobrevendido, el RSI por encima de 70 considera una baja, y por debajo del RSI por debajo de 30 considera una ganancia
  5. Cuando se cumplen las condiciones anteriores, se genera una señal de hacer más o hacer menos

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. Las bandas de triple BB filtran las brechas falsas para garantizar la fiabilidad de la brecha
  2. Indicadores de cambio para evaluar la fortaleza del mercado y evitar transacciones desfavorables
  3. El RSI determina las zonas de sobreventa y sobrecompra en combinación con el indicador de la banda de Bryn
  4. Combinación de varios indicadores, evaluación integral de la situación del mercado, alta fiabilidad de la señal

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. El indicador de la banda de Brin es sensible a los parámetros y necesita optimización de la longitud y el múltiplo de StdDev
  2. Los indicadores de cambio también son más sensibles a los parámetros de ciclo y necesitan ajustes en diferentes mercados.
  3. El RSI es propenso a desviaciones y puede perder la tendencia
  4. Si los tres indicadores son diferentes, no se puede entrar y se pierde parte de la oportunidad

Las medidas de control de riesgos incluyen:

  1. Parámetros de optimización, tested El parámetro con mayor probabilidad de éxito
  2. En combinación con otros indicadores, como el filtro de volumen de transacciones
  3. La lógica de juicio de los indicadores debe ser adecuadamente flexibilizada para evitar oportunidades perdidas.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Optimización de la longitud del indicador de la cinta de Bryn y el múltiplo de StdDev para encontrar el parámetro óptimo
  2. Optimización del ciclo de los indicadores de turbinas para adaptarlos mejor a los diferentes mercados
  3. Añadir otros indicadores de juicio, como volumen de transacciones, macd, etc., para enriquecer la señal de diversidad
  4. Ajuste de la lógica de juicio de los indicadores para evitar que la discrepancia de los indicadores conduzca a la imposibilidad de ingreso
  5. Aumentar las estrategias de stop loss para controlar las pérdidas máximas de una sola operación

Resumir

La estrategia utiliza varios indicadores para juzgar, pero al mismo tiempo garantiza la fiabilidad de la señal. Se puede mejorar aún más la estabilidad y la rentabilidad de la estrategia mediante la optimización de parámetros, el enriquecimiento de la fuente de la señal, la adaptación de la lógica de juicio y la parada 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='RSI + BB  over 3 bar+--- vortex0.71.3  ', shorttitle='NoWaytruongphuthinh', 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))