En la carga de los recursos... Cargando...

Estrategia de ruptura de doble canal

El autor:¿ Qué pasa?, Fecha: 2024-02-01 14:43:07
Las etiquetas:

img

La estrategia lleva el nombre de su uso de dos indicadores, Bollinger Bands y Keltner Channels, para generar señales comerciales.

Estrategia lógica

La estrategia combina las bandas de Bollinger y los canales de Keltner. Las bandas de Bollinger son canales adaptativos trazados en una línea media móvil más / menos desviaciones estándar.

La lógica de negociación es ir largo cuando el precio de cierre cae por debajo de la banda inferior de Bollinger y el canal inferior de Keltner, anticipando una reversión.

Los puntos fuertes

Al combinar dos canales, la estrategia identifica de manera efectiva los cambios anormales de precios. Los filtros de doble canal ayudan a evitar señales falsas.

En comparación con el uso de solo bandas de Bollinger o canales de Keltner, esta estrategia filtra más ruido para señales de mayor calidad.

Análisis de riesgos

Un riesgo clave es la naturaleza rezagada de los indicadores de canal. Los precios podrían comenzar a revertirse antes de alcanzar los límites del canal que desencadenan las señales. Esto puede resultar en entradas tardías o ser atrapados en retrocesos.

Los paros demasiado ajustados y las ganancias excesivamente amplias son otros riesgos que deben ajustarse según las condiciones del mercado.

Oportunidades de mejora

La estrategia se puede optimizar añadiendo filtros auxiliares como osciladores de momento.

La incorporación de paradas adaptativas y tomar beneficios es otra vía de mejora, ayudando a la estrategia a adaptarse mejor a la evolución de los mercados.

Conclusión

Esta estrategia de ruptura de doble canal combina los puntos fuertes de las bandas de Bollinger y los canales de Keltner para identificar eficazmente las oportunidades de reversión, controlando al mismo tiempo los riesgos a través de filtros de doble canal y configuraciones de stop/take profit.


/*backtest
start: 2023-01-31 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Estratégia de Compra/Venda BB e KC", overlay=true)

// Parâmetros das Bandas de Bollinger
bollinger_length = input(20, title="Comprimento das Bandas de Bollinger", minval=1)
bollinger_deviation = input(2.0, title="Desvio Padrão das Bandas de Bollinger", minval=0.1)

// Parâmetros dos Canais de Keltner
keltner_length = input(20, title="Comprimento dos Canais de Keltner", minval=1)
atr_multiplier = input(1.5, title="Multiplicador ATR dos Canais de Keltner", minval=0.1)

// Take Profit e Stop Loss em termos financeiros
take_profit = input(10.0, title="Take Profit (em $)", step=1)
stop_loss = input(20.0, title="Stop Loss (em $)", step=1)

// Cálculos das Bandas de Bollinger
basis_bb = sma(close, bollinger_length)
dev_bb = sma(stdev(close, bollinger_length), bollinger_length)
upper_bb = basis_bb + dev_bb * bollinger_deviation
lower_bb = basis_bb - dev_bb * bollinger_deviation

// Cálculos dos Canais de Keltner
basis_kc = sma(close, keltner_length)
atr_kc = sma(atr(keltner_length), keltner_length)
upper_kc = basis_kc + atr_multiplier * atr_kc
lower_kc = basis_kc - atr_multiplier * atr_kc

// Condição de Compra
buy_condition = close < lower_bb and close < lower_kc

// Condição de Venda
sell_condition = close > upper_bb and close > upper_kc

// Estratégia de Compra/Venda com TP e SL
if (buy_condition)
    strategy.entry("Compra", strategy.long)
    strategy.exit("Take Profit/Stop Loss", from_entry="Compra", profit=take_profit, loss=stop_loss)
if (sell_condition)
    strategy.entry("Venda", strategy.short)
    strategy.exit("Take Profit/Stop Loss", from_entry="Venda", profit=take_profit, loss=stop_loss)

// Plot das Bandas de Bollinger e dos Canais de Keltner
plot(upper_bb, color=color.rgb(47, 33, 243), title="Banda Superior de Bollinger")
plot(lower_bb, color=color.rgb(89, 33, 243), title="Banda Inferior de Bollinger")
plot(upper_kc, color=color.rgb(200, 255, 0), title="Canal Superior de Keltner")
plot(lower_kc, color=color.rgb(225, 255, 0), title="Canal Inferior de Keltner")


Más.