Estrategia de negociación de seguimiento inteligente basada en bandas de Bollinger

El autor:¿ Qué pasa?, fecha: 2024-01-17 14:05:36
Las etiquetas:

img

Resumen general

Esta estrategia está diseñada basándose en el indicador Bollinger Bands para ir corto cuando el precio se rompe por encima de la banda superior y ir largo cuando el precio se rompe por debajo de la banda inferior, realizando el comercio de seguimiento inteligente.

Estrategia lógica

La estrategia utiliza la línea media, la banda superior y la banda inferior de las bandas de Bollinger como indicadores básicos. La línea media es el promedio móvil de los precios de cierre durante n días. La banda superior es la línea media desplazada hacia arriba por dos desviaciones estándar mientras que la banda inferior se desplaza hacia abajo por dos desviaciones estándar. Cuando el precio rompe la banda inferior hacia arriba, vaya largo. Cuando el precio rompe la banda superior hacia abajo, vaya corto. Esto permite un seguimiento inteligente del precio basado en la volatilidad del mercado.

Específicamente, la estrategia evalúa principalmente dos métricas:

  1. ta.crossover ((fuente, inferior): el precio de cierre se rompe por encima de la banda inferior, va largo

  2. ta.crossunder ((fuente, superior): el precio de cierre se rompe por debajo de la banda superior, se hace corto

Cuando se activa la condición de salida, utilice la función strategy.cancel() para aplanar la posición existente.

Análisis de ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. Basado en el indicador Bollinger Bands, capaz de capturar la volatilidad del mercado y realizar un seguimiento efectivo de la tendencia de los precios
  2. Lógica clara y sencilla, fácil de entender e implementar
  3. Parámetros personalizables como la duración del período y el multiplicador de desviación estándar, muy adaptables
  4. Mecanismos de stop loss, break-even o trailing stop configurables para optimizar el rendimiento de la estrategia

Análisis de riesgos

También hay algunos riesgos con esta estrategia:

  1. Las bandas de Bollinger son propensas a señales falsas
  2. El rendimiento depende de la optimización de parámetros, los parámetros inadecuados pueden afectar la rentabilidad
  3. Difícil de rastrear las pérdidas de parada, incapaz de controlar eficazmente las pérdidas de operaciones individuales

Soluciones correspondientes:

  1. Añadir filtros con otros indicadores para evitar fallas
  2. Prueba de parámetros a fondo para encontrar el conjunto óptimo de parámetros
  3. Mecanismos de suspensión de pérdidas móviles o de tendencia

Direcciones de optimización

La estrategia se puede optimizar aún más mediante:

  1. Añadir otros indicadores para determinar la dirección de la tendencia, evitando condiciones de mercado inadecuadas para la estrategia de Bollinger
  2. Prueba de diferentes períodos de duración para encontrar el óptimo
  3. Incorporación de mecanismos de movimiento o de detención para controlar eficazmente las pérdidas de una sola operación

Conclusión

Esta estrategia está diseñada sobre la base del indicador de Bollinger Bands, utilizando las rupturas de precios de las bandas superior e inferior para rastrear automáticamente los precios. La lógica es simple y sensible a la volatilidad del mercado. Se pueden hacer optimizaciones adicionales a través de mecanismos de ajuste de parámetros y stop loss. En general, esta estrategia funciona bien para índices y productos con mayor volatilidad. Los operadores pueden realizar pruebas de retroceso y optimizar basándose en su preferencia comercial para derivar una estrategia de trading astika.


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

//@version=5
strategy("Bollinger Bands Strategy with alerts (incl. pending orders) via TradingConnector to Forex", overlay=true)
source = close
length = input.int(20, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
buyEntry = ta.crossover(source, lower)
sellEntry = ta.crossunder(source, upper)
if (ta.crossover(source, lower))
	strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="BBandLE")
    alert(message='long price='+str.tostring(lower), freq=alert.freq_once_per_bar_close)
else
	strategy.cancel(id="BBandLE")
    alert(message='cancel long', freq=alert.freq_once_per_bar_close)
if (ta.crossunder(source, upper))
	strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE")
    alert(message='short price='+str.tostring(upper), freq=alert.freq_once_per_bar_close)
else
	strategy.cancel(id="BBandSE")
    alert(message='cancel short', freq=alert.freq_once_per_bar_close)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

//Lines of code added to the original built-in script: 14, 17, 20 and 23 only.
//They trigger alerts ready to be executed on real markets through TradingConnector
//available for Forex, indices, crypto, stocks - anything your broker offers for trading via MetaTrader4/5


Más.