Estrategia de ajuste de la banda de Bollinger

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

img

Resumen general

Esta estrategia utiliza el indicador Bollinger Bands para el juicio de tendencia, combinado con el indicador RSI para evitar la sobrecompra, así como filtros de cuerpo de vela y filtros de color para validar aún más las señales comerciales.

Principios

Esta estrategia utiliza primero la banda inferior del indicador de Bollinger Bands. Cuando el precio está por debajo de la banda inferior, se considera una oportunidad para abrir una posición. Para evitar la sobrecompra, la estrategia también introduce el indicador RSI, que requiere que el RSI sea inferior a 30 para generar una señal de compra. Además, la estrategia establece un filtro del cuerpo de la vela que requiere que el cuerpo de la vela actual sea mayor que la mitad del cuerpo promedio de las velas en los últimos 10 períodos para activar una compra. Finalmente, el filtro de color requiere que la vela sea verde (cerrar más alto) para validar aún más el momento de la compra.

Cuando el precio rompe la banda inferior de las bandas de Bollinger, el RSI es menor a 30, el cuerpo es lo suficientemente grande y la vela es verde, se genera una señal de compra.

Análisis de ventajas

La mayor ventaja de esta estrategia es que puede determinar con éxito el comienzo de una tendencia y entrar en el mercado, y salir antes de la inversión de la tendencia, por lo tanto, el potencial de ganancia es grande.

  1. El indicador Bollinger Bands juzga con precisión la dirección de la tendencia. Utiliza el rango de fluctuación de precios para determinar los movimientos de precios, por lo que el uso de este indicador puede determinar eficazmente el comienzo y el final de las tendencias.

  2. El indicador RSI evita la sobrecompra. El RSI puede medir las condiciones de sobrecompra y sobreventa. Usarlo evita comprar erróneamente durante las correcciones temporales de precios.

  3. El filtro de entidades aumenta la confiabilidad de la señal. Un cuerpo de vela más grande representa un avance más poderoso. El filtro de entidades asegura la compra de avances fuertes.

  4. El filtro de color confirma el tiempo. Sólo la compra de velas verdes valida aún más el tiempo adecuado.

  5. El cambio de color verde de la vela indica la reversión de la tendencia después de la compra.

Análisis de riesgos

La estrategia también tiene algunos riesgos:

  1. Posibilidad de señales falsas de las bandas de Bollinger. También puede producir señales falsas de ruptura cuando el mercado oscila.

  2. Las pérdidas aumentan sin stop loss. La falta de stop loss puede llevar a pérdidas mayores si los juicios son erróneos.

  3. Las condiciones de filtración demasiado estrictas pueden hacer que se pierdan oportunidades de compra.

  4. Se basa en resultados de backtesting optimizados. Los parámetros y los ajustes de filtro necesitan optimización y verificación, los resultados comerciales reales también necesitan verificación.

  5. El cambio de color de la vela a verde no es fiable para determinar las reversiones.

Para los riesgos, el stop loss puede controlar las pérdidas, la optimización de filtros reduce las compras perdidas, el uso de múltiples indicadores verifica las señales y verifica los resultados en el comercio en vivo.

Direcciones de mejora

La estrategia se puede optimizar en varios aspectos:

  1. Optimice los parámetros de la banda de Bollinger para obtener los mejores ajustes. Pruebe diferentes períodos, múltiplos de desviación estándar, etc.

  2. Prueba diferentes osciladores en lugar del RSI. por ejemplo, KDJ, Williams %R, etc.

  3. Añadir pérdidas de detención para controlar los riesgos y establecer paradas razonables basadas en los datos de las pruebas previas.

  4. Optimizar los parámetros de condición del filtro, probar diferentes tamaños y períodos de filtro del cuerpo.

  5. Incorporar otros indicadores para confirmar las señales, por ejemplo, indicadores de confirmación de volumen-precio.

  6. Prueba diferentes señales de reversión, por ejemplo cruces de medias móviles para determinar la inversión de tendencia.

  7. Prueba en diferentes productos y marcos de tiempo.

Conclusión

En general, la estrategia tiene una tendencia relativamente fuerte después de la capacidad y la adaptabilidad. Las fortalezas centrales son el uso de bandas de Bollinger para determinar la dirección de la tendencia y el uso de RSI y filtros para garantizar el tiempo. Pero también hay ciertos riesgos que necesitan optimización y pruebas específicas. Si los parámetros y reglas se pueden verificar, puede lograr buenos resultados en el comercio en vivo.


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

//Noro
//2018

//Donate: 3BMEXvKkuJLobJrcpMm12bKTZoCnojZTjh

//@version=2
strategy(title = "Noro's Wizard Strategy v1.1", shorttitle = "Wizard str 1.1", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 10)

//Settings
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
length = input(40, defval = 40, minval = 1, maxval = 200, title = "BB Period")
usebod = input(false, defval = false, title = "Use Body-Filter")
usecol = input(false, defval = false, title = "Use Color-Filter")
usersi = input(true, defval = true, title = "Use RSI-Filter")
showar = input(false, defval = false, title = "Show Arrows")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Bollinger
src = low
mult = 2
basis = sma(src, length)
dev = mult * stdev(src, length)
lower = basis - dev
plot(lower, color = lime, linewidth = 3, title="Bottom Line")

//Fast RSI Filter
fastup = rma(max(change(close), 0), 7)
fastdown = rma(-min(change(close), 0), 7)
rsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
rsif = rsi < 30 or usersi == false

//Body Filter
nbody = abs(close - open)
abody = sma(nbody, 10)
body = nbody > abody / 2 or usebod == false

//Signals
up1 = low < lower and (close < open or usecol == false) and body and rsif
exit = close > open and nbody > abody / 2

//Arrows
needar = up1 and showar
plotarrow(needar ? 1 : na)

//Trading
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]

if up1
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()

Más.