Estrategia de stop loss de media móvil con ruptura de tendencia doble


Fecha de creación: 2023-11-06 16:52:11 Última modificación: 2023-11-06 16:52:11
Copiar: 0 Número de Visitas: 654
1
Seguir
1617
Seguidores

Estrategia de stop loss de media móvil con ruptura de tendencia doble

Descripción general

Esta estrategia combina el indicador de doble trayectoria y el indicador de la media móvil, utiliza el indicador de doble trayectoria para determinar la dirección de la tendencia del mercado, y utiliza la media móvil para confirmar la tendencia. Se considera una estrategia de seguimiento de tendencias. Combinado con el stop loss para controlar el riesgo, se considera una estrategia más estable.

Principio de estrategia

  1. Calcula el trayecto superior del precio de cierre de ayer con el promedio SMA del precio más alto durante el período especificado, y el trayecto inferior del precio de cierre de ayer con el promedio SMA del precio más bajo durante el período especificado.

  2. Comparación de la relación entre el precio de cierre actual y el de la vía superior y la vía inferior, para determinar la dirección de la tendencia actual. El precio de cierre es superior al de la vía superior, y se considera que es más alto; el precio de cierre es inferior al de la vía inferior, y se considera que es más bajo.

  3. Calcula el promedio de la SMA de cierre de 200 ciclos como criterio para determinar la tendencia de la línea media y larga.

  4. Cuando se juzga que el precio de cierre es más alto, se genera una señal de compra si el precio de cierre rompe la línea media SMA desde abajo; cuando se juzga que el precio de cierre es más bajo, se genera una señal de venta si el precio de cierre rompe la línea media SMA desde arriba.

  5. Después de entrar en una posición de más cabeza, si el precio de cierre se rompe por debajo de la vía, como una señal de equilibrio; después de entrar en una posición de cabeza vacía, si el precio de cierre se rompe por encima de la vía, como una señal de equilibrio.

  6. Si se establece un punto de parada de proporción fija, se activará el Stop Loss Policy si se rompe el punto de parada por debajo del precio de cierre.

Ventajas estratégicas

  1. El uso de indicadores de doble trayectoria para determinar la dirección de la tendencia, puede identificar la tendencia de manera efectiva y aumentar la probabilidad de entrar en la dirección correcta.

  2. La inclusión de la línea media puede filtrar parte de la señal de ruido y evitar errores de negociación en situaciones de convulsiones.

  3. El uso de stop loss para controlar el riesgo de pérdidas individuales puede evitar pérdidas excesivas.

  4. Las estrategias son relativamente sencillas y fáciles de entender, para principiantes y practicantes.

Riesgo estratégico

  1. Los indicadores de doble trayectoria son más sensibles a la configuración de los parámetros, y las combinaciones de parámetros de diferentes períodos pueden causar grandes diferencias en los resultados, por lo que se debe optimizar los parámetros de prueba con cuidado.

  2. Si la línea media es demasiado larga, se filtrarán más oportunidades de negociación; si la línea media es demasiado corta, no tendrá un buen efecto en la eliminación del ruido. Se debe ponderar la configuración de los parámetros del ciclo de la línea media.

  3. Los puntos de parada son demasiado amplios para un buen control del riesgo; los puntos demasiado estrechos son más propensos a ser desactivados por las fluctuaciones regulares de los precios. Se debe establecer cuidadosamente los límites de parada.

  4. La estrategia depende de la optimización de los parámetros, y si los parámetros están mal configurados, es posible que no se pueda identificar correctamente la dirección de la tendencia, lo que lleva a errores en las decisiones comerciales.

Dirección de optimización de la estrategia

  1. Se puede probar una combinación de diferentes parámetros de ciclo para encontrar los parámetros que permiten que el indicador de tendencia doble sea más preciso para determinar la tendencia.

  2. Se puede probar el indicador de la media en diferentes períodos para encontrar el parámetro de la media óptima para equilibrar el efecto de desactivación del ruido y la preservación de la señal.

  3. Se puede intentar diseñar un mecanismo de pérdidas que se ajuste a la volatilidad del mercado, para que el stop loss esté más cerca de la situación del mercado.

  4. También se puede intentar agregar otros indicadores como ayuda, como la confirmación de la cantidad, el manejo de varios marcos de tiempo, etc., para mejorar la estabilidad de la estrategia.

  5. Las estrategias optimizadas pueden ser validadas con análisis de caminata para asegurar que los parámetros sigan siendo robustos.

Resumir

Esta estrategia integra las ventajas de los indicadores de doble avance y las medias móviles, y es una estrategia de seguimiento de tendencias con un gran margen de optimización de los parámetros. Con una configuración y optimización razonables de los parámetros, se puede obtener un mejor rendimiento de la estrategia. Sin embargo, debe tenerse en cuenta el control del riesgo de optimización excesiva de los parámetros y garantizar la estabilidad de los parámetros.

Código Fuente de la Estrategia
/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//@Isaac
//Estrategia vista en ▼▼
//YT: Trading Zone
strategy('SSL Strategy + EMA 200 AND Stop Loss', overlay=true)

ema = ta.ema(close, 200)

stop_loss = input.float(2.00, title='Stop Loss', step=0.10)

period = input(title='Period', defval=10)
len = input(title='Period', defval=10)
smaHigh = ta.sma(high, len)
smaLow = ta.sma(low, len)
Hlv = int(na)
Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1]
sslDown = Hlv < 0 ? smaHigh : smaLow
sslUp = Hlv < 0 ? smaLow : smaHigh


cruceArriba = ta.crossover(sslUp, sslDown)
cruceAbajo = ta.crossunder(sslUp, sslDown)

alcista = (close > ema ) and (cruceArriba) 
bajista = (close < ema) and (cruceAbajo)

var SL = 0.0
//Cerrar compra por cruce
por_cruce = ta.crossunder(sslUp, sslDown)

//Cerrar venta por cruce
por_cruceAB = ta.crossunder(sslDown, sslUp)

//Cerrar compra y venta por stop loss
Stop = SL

comprado = strategy.position_size > 0
vendido = strategy.position_size < 0

UTmpconvertL = strategy.position_avg_price * (1 + 0.1)
UTmpdefineL = (UTmpconvertL > close and strategy.openprofit > 0.1)
UTSPL = UTmpdefineL

SPL = UTSPL

///////////////////////////////////////////////////////////////////////

UTmpconvertLS = strategy.position_avg_price * (1 + 0.1)
UTmpdefineLS = (UTmpconvertLS > close and strategy.openprofit > 0.1)
UTSPLS = UTmpdefineLS

SPLS = UTSPLS

////////////////////////////////////////////////////////////////////////

if not comprado and not vendido and alcista
    cantidad = (strategy.equity / close)
    strategy.entry('Compra', strategy.long, qty=cantidad, comment="Long")
    SL := sslDown


if comprado and not vendido and por_cruce and SPL
    strategy.close("Compra", comment="Exit Long")
    SL := 0
    
if comprado and not vendido and Stop
    strategy.exit('Compra', stop=Stop, comment="SL")
    SL := 0

///////////////////////////////////////////////////////////////////

if not comprado and not vendido and bajista
    cantidad = (strategy.equity / close)
    strategy.entry('Venta', strategy.short, qty=cantidad, comment="Short")
    SL := sslDown

if not comprado and vendido and por_cruceAB and SPLS
    strategy.close("Venta", comment="Exit Short")
    SL := 0
    
if not comprado and vendido and Stop
    strategy.exit('Venta', stop=Stop, comment="SLS")
    SL := 0



plot(Stop > 0 ? Stop : na, style=plot.style_circles, color=color.new(color.yellow,0))
plot(ema)
plot(sslDown, linewidth=2, color=color.new(color.red, 0))
plot(sslUp, linewidth=2, color=color.new(color.lime, 0))