
La estrategia se basa en la teoría de las rupturas, en la comparación de los precios más altos y más bajos de las medias móviles para determinar si la tendencia se invierte, para detectar posibles puntos de ruptura, y el comercio en el momento de la ruptura. La estrategia es simple y directa, y se aplica a los indicadores de seguimiento de los cambios drásticos en la tendencia.
La estrategia primero calcula el promedio móvil de los precios más altos y más bajos en un período determinado de acuerdo con la configuración del usuario. El promedio móvil de precio más alto representa la subida y el promedio móvil de precio más bajo representa la bajada.
La estrategia también ofrece opciones de paradas de pérdidas. Cuando se hace más, el punto de parada es superior; cuando se hace más, el punto de parada es inferior. Esto reduce las pérdidas.
La estrategia tiene las siguientes ventajas:
La estrategia es sencilla, directa, fácil de entender y de implementar.
La capacidad de captar rápidamente los puntos de inflexión de las tendencias de los precios y ajustar las posiciones a tiempo.
Se ofrece una opción de parada de pérdidas que se puede configurar según las preferencias de riesgo personales.
La generación de señales de transacción es clara y no hay frecuentes señales falsas.
Los parámetros configurables son más pequeños y fáciles de usar.
La configuración es flexible y puede ser solo para hacer más o solo para hacer menos.
La estrategia también tiene sus riesgos:
La señal de ruptura puede ser falsa y no duradera.
La configuración incorrecta del ciclo de ruptura puede perder la tendencia de la línea más larga.
La brecha no tuvo en cuenta el volumen de transacciones, lo que podría llevar a una caída de los precios.
Hay un cierto retraso, y es posible que se pierda la mejor parte de las cosas.
El punto de parada corre el riesgo de ser superado cuando la situación fluctúa.
Los beneficios son inciertos si se negocian solo en base a puntos de ruptura.
La estrategia puede ser optimizada en los siguientes aspectos:
En combinación con los indicadores de volumen de transacciones, evita falsas rupturas. Por ejemplo, el volumen de transacciones se amplifica cuando se rompe, lo que indica que la ruptura puede ser real y efectiva.
Optimización de los parámetros periódicos de las medias móviles para que puedan coincidir con los cambios de tendencia en diferentes períodos. También se puede probar con diferentes tipos de medias móviles.
Se puede configurar la amplitud de retroalimentación para una confirmación adicional después de que se produzca el punto de ruptura, evitando falsas rupturas.
Se pueden agregar instrumentos de medias móviles de índices como el canal de Bollinger en base a la ruptura para obtener más instrucciones de dirección.
Se puede combinar con otros indicadores como el RSI, MACD, etc., para obtener más señales de comercio auxiliares y mejorar la precisión de la toma de decisiones.
Optimizar las estrategias de stop loss para adaptarlas mejor a las fluctuaciones de la bolsa y controlar el riesgo.
La estrategia de ruptura de la estrategia de la idea general es clara y fácil de entender, mediante el seguimiento de los precios de ruptura hacia arriba y hacia abajo para juzgar el momento de entrada y salida. La estrategia de optimización de espacio es grande, se puede mediante la integración de más información de indicadores y optimización de los parámetros para fortalecer el efecto de la estrategia. Después de familiarizarse con la estrategia de la idea básica, de acuerdo con los propios parámetros que necesitan ajustar, se puede obtener un mejor efecto de negociación.
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=3
strategy(title = "Noro's Brakeout Strategy v2.0", shorttitle = "Brakeout str 2.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
len = input(4, defval = 4, minval = 1, maxval = 1000, title = "Length")
bod = input(false, defval = false, title = "Body mode")
rev = input(false, defval = false, title = "Revers")
showlines = input(true, defval = true, title = "Show Lines?")
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")
//Extremums
min = bod ? min(open, close) : low
max = bod ? max(open, close) : high
upex = highest(max, len) + syminfo.mintick * 10
dnex = lowest(min, len) - syminfo.mintick * 10
col = showlines ? blue : na
plot(upex, color = col, linewidth = 2)
plot(dnex, color = col, linewidth = 2)
//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if (not na(close[len])) and rev == false
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = upex)
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dnex)
if (not na(close[len])) and rev == true
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, limit = dnex)
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, limit = upex)
if time > timestamp(toyear, tomonth, today, 23, 59)
strategy.close_all()