
La estrategia es una estrategia de ruptura basada en el indicador de la banda de Brin, que utiliza la banda de Brin en el tren de baja Provide señales de ruptura, para realizar operaciones de compra y venta. La estrategia tiene al mismo tiempo un mecanismo de seguimiento de los estoppos y la acumulación de posiciones, que puede obtener mayores ganancias en situaciones de tendencia.
La estrategia comienza con el cálculo de la banda de Bryn en los trayectos medio, alto y bajo. El trayecto medio es el promedio móvil del precio, y el trayecto alto y bajo es el diferencial estándar de cada uno de los trayectos medios.
Cuando el precio sube a la baja, genera una señal de compra; cuando el precio baja a la baja, genera una señal de venta. Esto significa que el precio ha roto el rango de la banda de Brin y puede entrar en una tendencia.
Además, la estrategia también juzga la ruptura de la entidad, si el precio de cierre es superior al precio de apertura, y la entidad rompe el centro de la órbita en cierta proporción, la posición de paridad; si el precio de cierre es inferior al precio de apertura, y la entidad rompe el centro de la órbita en cierta proporción, la posición de paridad. Esto puede evitar la pérdida causada por la falsa ruptura.
Una vez abierta la posición, la estrategia puede realizar operaciones de stop loss y de alza de posición. Si el precio continúa en la dirección favorable, se puede aumentar la posición y aumentar la ganancia. Si el precio se invierte, se controla el riesgo mediante el stop loss.
La estrategia tiene las siguientes ventajas:
Este indicador técnico es sencillo y eficaz para determinar la dirección de la tendencia y las rupturas utilizando el indicador de la banda de Bryn.
La combinación de la entidad y la mediana de la vía determina la fiabilidad de la ruptura, evitando la pérdida de la falsa ruptura.
El uso de trazado de pérdidas para controlar el riesgo y bloquear los beneficios.
El uso de la estrategia de acrecentamiento de pérdidas permite obtener mayores ganancias en situaciones de tendencia.
La lógica de la estrategia es clara y fácil de entender, los parámetros son simples y fáciles de implementar.
La estrategia también tiene los siguientes riesgos:
La ruptura de la franja de Brin no puede evitar completamente la falsa ruptura, y todavía existe un cierto riesgo de pérdida.
La configuración incorrecta del punto de parada puede causar una parada prematura o nula.
La incorrecta configuración de la cantidad y el porcentaje de posicionamiento puede aumentar las pérdidas.
Si la tendencia se invierte y no se puede detener la salida a tiempo, puede haber grandes pérdidas.
La optimización de los parámetros no es suficiente, lo que puede causar un mal efecto de la estrategia.
Existe el riesgo de adaptación y se debe verificar en diferentes mercados.
La estrategia puede ser optimizada en los siguientes aspectos:
Prueba y optimización de los parámetros de la banda de Bryn para encontrar la combinación de parámetros más adecuada.
Prueba diferentes estrategias de stop loss para establecer puntos de stop loss más precisos.
Prueba el número y la proporción de acumulaciones para encontrar el parámetro óptimo.
Aumentar los indicadores de tendencia y evitar el aumento de las posiciones en contra.
Optimización de la lógica de juicio de la brecha de la entidad, reduciendo la probabilidad de falsa brecha.
Aumentar la función de las condiciones individuales, utilizando diferentes combinaciones de parámetros según las diferentes condiciones del mercado.
Se realizan respuestas en más variedades y períodos de tiempo diferentes para mejorar la estabilidad.
El uso de métodos como el aprendizaje automático para optimizar los parámetros.
En general, la estrategia utiliza el indicador de la banda de Brin para determinar la dirección de la tendencia y las señales de ruptura, y está equipada con funciones como el stop loss, el acrecentamiento de la posición, etc., para obtener mejores resultados. Sin embargo, también existe un cierto riesgo, que requiere mejoras mediante la optimización de los parámetros, el aumento de la determinación condicional, etc., para que la estrategia sea más estable y confiable.
/*backtest
start: 2023-11-05 00:00:00
end: 2023-11-12 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy("Noro's Bollinger Strategy v1.1", shorttitle = "Bollinger str 1.1", 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, defval = 20, minval = 1, maxval = 1000, title = "Bollinger Length")
mult = input(2.0, minval = 0.001, maxval = 50, title = "Bollinger Mult")
source = input(ohlc4, defval = ohlc4, title = "Bollinger Source")
showbands = input(true, defval = true, title = "Show Bollinger Bands")
fromyear = input(2018, defval = 2018, 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 Bands
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
//Lines
col = showbands ? black : na
plot(upper, linewidth = 1, color = col)
plot(basis, linewidth = 1, color = col)
plot(lower, linewidth = 1, color = col)
//Body
body = abs(close - open)
abody = ema(body, 30)
//Signals
up = close <= lower
dn = close >= upper
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open) and body > abody / 2
//Trading
if up
strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
if dn
strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
if time > timestamp(toyear, tomonth, today, 00, 00) or exit
strategy.close_all()