Esta estrategia utiliza el indicador Noro Bands personalizado para determinar la dirección de la tendencia y genera señales comerciales basadas en reglas específicas. Las señales se generan cuando el precio rompe las bandas.
Calcular bandas de Noro Determinar el máximo reciente, bajo basado en el período de usuario, y calcular la línea media y superior / inferior bandas.
Determine la dirección de la tendencia. El precio por encima de la banda superior es tendencia alcista. El precio por debajo de la banda inferior es tendencia bajista.
Generar señales. Comprar señal cuando el precio rompe por debajo de la banda inferior en tendencia alcista. Vender señal cuando el precio rompe por encima de la banda superior en tendencia bajista.
Agregue oportunidades de compra cuando ocurra la señal de CryptoBottom.
Reglas de apertura de posiciones. Los usuarios pueden optar por operar solo largo o corto. Sin selección, operar ambos lados.
Las bandas de Noro pueden mostrar o ocultar las bandas.
Las bandas de Noro determinan efectivamente la dirección de la tendencia.
Combinando la banda de escape evita señales falsas de escape.
CryptoBottom mejora la calidad de las señales de compra
Personalizable sólo para operaciones largas o cortas.
Los parámetros ajustables se adaptan a diferentes plazos.
Los parámetros incorrectos pueden causar fallas en el cálculo de la banda.
Las señales de fuga tienen retraso.
CryptoBottom no es del todo confiable.
Comerciar sólo con un lado puede perder oportunidades.
El riesgo 1 puede abordarse mediante la optimización de parámetros.
El riesgo 2 puede mejorarse combinando otros indicadores.
El riesgo 3 requiere validar el rendimiento de CryptoBottom.
El riesgo 4 necesita evaluar la rentabilidad de las operaciones de un lado.
Impacto de los parámetros de prueba en las bandas de Noro.
Evaluar otros indicadores de ruptura en lugar de bandas de Noro.
Evaluar las estrategias de stop loss.
Prueba de la eficacia de las operaciones largas o cortas.
Optimice los parámetros para CryptoBottom.
Esta estrategia utiliza bandas de Noro para determinar las señales de tendencia y ruptura a las entradas de tiempo.
/*backtest start: 2023-09-10 00:00:00 end: 2023-09-17 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Noro's Bands Strategy v1.2", shorttitle = "NoroBands str 1.2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period") color = input(true, "Use Color or bar") usecb = input(true, "Use CryptoBottom") needbb = input(true, defval = false, title = "Show Bands") needbg = input(true, defval = false, title = "Show Background") src = close //Fast RSI fastup = rma(max(change(src), 0), 2) fastdown = rma(-min(change(src), 0), 2) fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //CryptoBottom mac = sma(close, 10) lencb = abs(close - mac) sma = sma(lencb, 100) max = max(open, close) min = min(open, close) //dn = close > open and len > sma * 3 and max > max[1] and fastrsi > 90 ? 1 : 0 //PriceChannel lasthigh = highest(src, len) lastlow = lowest(src, len) center = (lasthigh + lastlow) / 2 //dist dist = abs(src - center) distsma = sma(dist, len) hd = center + distsma ld = center - distsma //Trend trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1] //Lines colo = needbb == false ? na : black plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band") plot(center, color = colo, linewidth = 1, transp = 0, title = "center") plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band") //Background col = needbg == false ? na : trend == 1 ? lime : red bgcolor(col, transp = 90) //Signals up = trend == 1 and ((close < open or color == false) or close < hd) ? 1 : 0 dn = trend == -1 and ((close > open or color == false) or close > ld) ? 1 : 0 up2 = close < open and lencb > sma * 3 and min < min[1] and fastrsi < 10 ? 1 : 0 //CryptoBottom longCondition = up == 1 or (up2 == 1 and usecb == true) if (longCondition) strategy.entry("Long", strategy.long, needlong == false ? 0 : na) shortCondition = dn == 1 if (shortCondition) strategy.entry("Short", strategy.short, needshort == false ? 0 : na)