
La estrategia de ruptura de la oscilación de la doble línea de equilibrio determina el movimiento de la oscilación de los precios calculando las líneas medias de dos períodos diferentes. Cuando el precio rompe el canal, se forma una señal de negociación. La estrategia combina al mismo tiempo el juicio de la tendencia dominante del mercado para evitar rupturas erróneas.
La estrategia se basa en la formación de un canal ascendente y descendente a través de dos líneas de medias móviles, cuyo alcance está determinado por el rango de fluctuación real promedio ATR. En concreto, la estrategia consiste principalmente en los siguientes pasos:
Se calculan dos líneas medias, la mediana 1 de corto período y la mediana 2 de largo período. La mediana 1 refleja la tendencia actual de los precios y la mediana 2 refleja la tendencia principal de los precios.
En la línea media 1, cada uno más un ATR forma un canal, el ATR puede reflejar la volatilidad actual del mercado.
Cuando el precio se rompe el canal de abajo hacia arriba, se forma una señal de compra; cuando el precio se rompe el canal de arriba hacia abajo, se forma una señal de venta.
La verdadera señal de negociación se produce solo cuando la dirección de la ruptura del ciclo corto coincide con la tendencia del ciclo largo, combinada con la tendencia de los precios dominantes.
A través de los pasos mencionados, la estrategia puede capturar brechas en la tendencia de la oscilación de los precios, al tiempo que evita señales erróneas en combinación con las tendencias principales.
La estrategia tiene las siguientes ventajas:
El uso de dos líneas para formar un canal refleja el rango de fluctuación de los precios actuales.
La introducción de los parámetros ATR permite que el alcance del canal siga la fluctuación del mercado en tiempo real.
La combinación de las principales tendencias de precios para evitar señales erróneas en un mercado convulso.
Las reglas de juicio estratégico son claras, sencillas, fáciles de entender, adecuadas para el aprendizaje y la investigación.
La estrategia también tiene los siguientes riesgos:
El riesgo de pérdidas se puede reducir tras la obtención de ganancias mediante la transferencia de posiciones.
La corriente principal considera que existe un retraso en el tiempo y no puede evitar completamente la señal errónea. Se puede ajustar adecuadamente el parámetro de la línea media para reducir.
En los mercados de gran volatilidad, los puntos de parada son fácilmente superados. Se puede ajustar el ATR en tiempo real para responder a las fluctuaciones del mercado.
La estrategia puede ser optimizada en los siguientes aspectos:
Los parámetros para calcular la línea media se pueden optimizar para encontrar la combinación óptima de parámetros de las diferentes variedades.
Los parámetros de ATR también pueden ser optimizados para que el canal pueda seguir mejor la fluctuación actual.
Se añaden condiciones de filtración adicionales, como indicadores de potencia, indicadores de fluctuación, etc., para evitar aún más señales erróneas.
Optimización automática de los parámetros a través de la tecnología de aprendizaje automático para lograr un ajuste dinámico de los parámetros.
La estrategia de ruptura de la oscilación de doble línea permite capturar la tendencia de la oscilación a través de la determinación del canal de doble línea y la dirección principal. Las reglas de determinación de la estrategia son simples, claras, fáciles de entender y implementar, y son un excelente ejemplo de cómo entender y aprender la estrategia de ruptura. La estrategia puede aumentar aún más la estabilidad y la rentabilidad mediante la optimización continua de la configuración de parámetros y la filtración de señales.
/*backtest
start: 2022-11-20 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Anuj4912
//@version=4
strategy("Anuj4912", overlay=true)
res = input(title="Time Frame", defval="120")
Factor=input(1, minval=1,maxval = 100)
Pd=input(1, minval=1,maxval = 100)
tp = input(500,title="Take Profit")
sl = input(400,title="Stop Loss")
Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
MUp=request.security(syminfo.tickerid,res,hl2-(Factor*atr(Pd)))
MDn=request.security(syminfo.tickerid,res,hl2+(Factor*atr(Pd)))
Mclose=request.security(syminfo.tickerid,res,close)
TrendUp=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn
MTrendUp=Mclose[1]>MTrendUp[1]? max(MUp,MTrendUp[1]) : MUp
MTrendDown=Mclose[1]<MTrendDown[1]? min(MDn,MTrendDown[1]) : MDn
Trend = close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown
MTrend = Mclose > MTrendDown[1] ? 1: Mclose< MTrendUp[1]? -1: nz(MTrend[1],1)
MTsl = MTrend==1? MTrendUp: MTrendDown
linecolor = Trend == 1 ? green : red
plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend")
Mlinecolor = MTrend == 1 ? blue : orange
plot(MTsl, color = Mlinecolor , style = line , linewidth = 2,title = "Main SuperTrend")
plotshape(cross(close,Tsl) and close>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0)
plotshape(cross(Tsl,close) and close<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0)
up = Trend == 1 and Trend[1] == -1 and MTrend == 1
down = Trend == -1 and Trend[1] == 1 and MTrend == -1
plotarrow(up ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0)
plotarrow(down ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0)
golong = Trend == 1 and Trend[1] == -1 and MTrend == 1
goshort = Trend == -1 and Trend[1] == 1 and MTrend == -1
strategy.entry("Buy", strategy.long,when=golong)
strategy.exit("Close Buy","Buy",profit=tp,loss=sl)
strategy.entry("Sell", strategy.short,when=goshort)
strategy.exit("Close Sell","Sell",profit=tp,loss=sl)