Esta estrategia se basa en el diseño de indicadores de la banda de Bol, cuando el precio rompe la banda de Bol y se desvía, se toma la operación de hacer más o hacer menos. La estrategia se beneficia al capturar la ruptura.
En concreto, la estrategia primero calcula el SMA de longitud en longitud, y la subida y bajada de la subida y bajada de la subida calculada con diferenciales estándar multiplicados. Cuando el precio de cierre se rompe de abajo hacia arriba, se hace una entrada adicional; cuando el precio de cierre se rompe de arriba hacia abajo, se hace una entrada en blanco. Al mismo tiempo, se establece una zona de negociación limitada por el tiempo de parada.
La estrategia trata de capturar la situación de expansión después de que el precio rompa la vía ascendente y descendente. Al romper la vía descendente, se ve el aumento de la fuerza de las partes múltiples, y al romper la vía ascendente, se ve el aumento de la fuerza de las partes vacías, cuando el comercio es favorable en la misma dirección.
Se puede reducir este riesgo optimizando las condiciones de entrada, añadiendo estrategias de stop loss e introduciendo filtros de tendencia.
Esta estrategia es una estrategia de ruptura basada en la banda de Bol, que se beneficia de la captura de la ruptura. La ventaja es que la idea es simple y fácil de implementar; la desventaja es que es fácil de ser engañado por la curvatura. Se puede mejorar la eficacia de la estrategia y controlar el riesgo mediante la optimización de los parámetros, la estrategia de stop loss, el control del tiempo de negociación, etc. La estrategia permite al comerciante comprender la aplicación de indicadores y los métodos básicos de ruptura.
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy("Noro's Bollinger Strategy v1.0", shorttitle = "Bollinger str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 5)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
length = input(20, minval=1)
mult = input(1.0, minval=0.001, maxval=50)
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")
source = close
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
up = close < lower
dn = close > upper
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)
if up
strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
if dn
strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
if time > timestamp(toyear, tomonth, 31, 00, 00) or exit
strategy.close_all()