Se aplican las condiciones siguientes:

El autor:¿ Qué pasa?, Fecha: 2023-10-27 16:50:24
Las etiquetas:

img

Resumen general

Esta estrategia genera señales comerciales basadas en el indicador de Bollinger Bands y gestiona posiciones utilizando stop-loss/take-profit. Supervisa la ruptura de las bandas superior e inferior de Bollinger Bands, va largo cuando el precio se rompe por encima de la banda superior, va corto cuando el precio rompe la banda inferior y sale cuando el precio rompe las bandas en sentido inverso utilizando órdenes de stop-loss.

Estrategia lógica

La estrategia utiliza las bandas media, superior e inferior del indicador Bollinger Bands. La banda media es el promedio móvil, la banda superior es la banda media más 2 desviaciones estándar, y la banda inferior es la banda media menos 2 desviaciones estándar.

Primero calcula las bandas medias, superiores e inferiores de las bandas de Bollinger. Luego comprueba si el precio se rompe por encima de la banda superior o por debajo de la banda inferior. Si el precio se rompe por encima de la banda superior, va largo. Si el precio se rompe por debajo de la banda inferior, va corto. También si el precio rompe las bandas al revés, sale de las posiciones utilizando órdenes de stop-loss.

Específicamente, la lógica de la estrategia es:

  1. Calcular Bandas de Bollinger Bandas medias, superiores e inferiores
  2. Si el precio se rompe por encima de la banda superior, ir largo
  3. Si el precio se rompe por debajo de la banda inferior, ir corto
  4. Si ya es largo, cierre largo cuando el precio se rompa por debajo de la banda inferior
  5. Si ya está corto, cierre corto cuando el precio se rompa por encima de la banda superior

Esto permite capturar tendencias cuando el precio hace grandes movimientos, al tiempo que limita las pérdidas utilizando stop-loss.

Ventajas

  • El uso de bandas de Bollinger para señales de entrada capta tendencias después de las rupturas
  • Señales claras de largo / corto, reglas simples
  • La estrategia de suspensión de pérdidas limita la pérdida máxima por operación
  • La capacidad de ajuste de parámetros para optimizar la estrategia

Los riesgos

  • Las operaciones de stop loss frecuentes pueden perjudicar el P/L global
  • La mala sintonización de los parámetros puede causar demasiadas señales o operaciones perdidas
  • Solo considera el precio, no hay otros indicadores para confirmar
  • No se aplicará ningún ajuste del stop-loss cerca de la ruptura.

Puede optimizar mediante la combinación de indicadores, el ajuste de unidades de stop-loss, etc.

Oportunidades de mejora

  • Combinar otros indicadores como el volumen, promedios móviles para confirmar las señales
  • Optimizar los parámetros de Bollinger para diferentes mercados
  • Ajustar la distancia de stop-loss cerca de la ruptura para evitar la hipersensibilidad
  • Comercio sólo después de que las tendencias se desarrollan, como reglas de comercio de tortugas
  • Optimización automática de parámetros mediante algoritmos de aprendizaje automático

Conclusión

Esta es una tendencia relativamente simple siguiendo una estrategia basada en bandas de Bollinger. Puede tomar posiciones rápidamente cuando el precio se rompe y utiliza stop-loss para controlar el riesgo. Pero confiar únicamente en el precio puede causar juicios erróneos, mientras que el stop-loss sensible puede aumentar la frecuencia de las operaciones. Podemos mejorar aún más mediante el ajuste de parámetros, la combinación de indicadores, el ajuste de paradas, etc. En general, proporciona un marco de negociación cuantitativa simple y confiable.


/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ROBO_Trading

//@version=5
strategy(title = "Bollinger Stop Strategy", shorttitle = "BBStop", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 10000, default_qty_value = 100, commission_value = 0.1)

//Settings
long = input(true)
short = input(true)
length = input.int(20, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
source = input(close)
showbb = input(true, title = "Show Bollinger Bands")
showof = input(true, title = "Show Offset")
startTime = input(defval = timestamp("01 Jan 2000 00:00 +0000"), title = "Start Time", inline = "time1")
finalTime = input(defval = timestamp("31 Dec 2099 23:59 +0000"), title = "Final Time", inline = "time1")

//Bollinger Bands
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev

//Show indicator
offset = showof ? 1 : 0
colorBasis = showbb ? color.gray : na
colorUpper = showbb ? color.blue : na
colorLower = showbb ? color.blue : na
colorBands = showbb ? color.blue : na
p0 = plot(basis, "Basis", color = colorBasis, offset = offset)
p1 = plot(upper, "Upper", color = colorUpper, offset = offset)
p2 = plot(lower, "Lower", color = colorLower, offset = offset)
fill(p1, p2, title = "Background", color = colorBands, transp = 90)

//Trading
truetime = true
if basis > 0 and truetime
    if long
        strategy.entry("Long", strategy.long, stop = upper, when = truetime)
    if short
        strategy.entry("Short", strategy.short, stop = lower, when = truetime)
    if long == false
        strategy.exit("Exit", "Short", stop = upper)
    if short == false
        strategy.exit("Exit", "Long", stop = lower)
if time > finalTime
    strategy.close_all()

Más.