Estrategia de equilibrio dinámico intradiario largo-corto que combina media móvil y súper tendencia


Fecha de creación: 2024-03-11 11:33:47 Última modificación: 2024-03-11 11:33:47
Copiar: 0 Número de Visitas: 692
1
Seguir
1617
Seguidores

Estrategia de equilibrio dinámico intradiario largo-corto que combina media móvil y súper tendencia

Descripción general de la estrategia

La estrategia de equilibrio dinámico intradiario multi-espacio combinada con la línea media y la tendencia súper es una estrategia de negociación cuantitativa basada en Pine Script TM 5. La estrategia utiliza el indicador MACD y el indicador de tendencia súper para capturar oportunidades de tendencia en el mercado, mientras que controla el riesgo mediante el cambio dinámico multi-espacio y la parada de pérdida.

Principio de estrategia

El núcleo de esta estrategia es la combinación de los indicadores MACD y los indicadores de tendencias súper para determinar la dirección de la tendencia del mercado. En concreto:

  1. Utiliza el indicador de tendencia súper para determinar la dirección de la tendencia actual. Cuando el indicador de tendencia súper cambia, indica que la tendencia se ha invertido.
  2. Utilice el gráfico de columnas del indicador MACD para juzgar el cambio de movimiento. Cuando el gráfico de columnas del MACD es negativo, indica un aumento de la energía de rotación hacia arriba; cuando el gráfico de columnas del MACD es positivo, indica un aumento de la energía de rotación hacia abajo.
  3. Cuando el indicador de tendencia súper y el indicador de MACD emiten al mismo tiempo señales de hacer más, abra más posiciones; cuando el indicador de tendencia súper y el indicador de MACD emiten al mismo tiempo señales de hacer menos, abra posiciones vacías.
  4. Elimina todas las posiciones en el horario fijo de cada día de negociación (por ejemplo, 15:15), evitando el riesgo de pasar la noche.
  5. En un nuevo día de negociación (por ejemplo, a las 9:30), reabre las posiciones según las instrucciones del indicador de tendencia súper y el indicador MACD.

La estrategia puede adaptarse a los cambios en el mercado y capturar oportunidades de tendencia a través de un cambio dinámico de varios espacios. Al mismo tiempo, el diseño de posiciones cerradas a tiempo fijo también ayuda a controlar el riesgo.

Ventajas estratégicas

  1. Seguimiento de tendencias: La combinación de indicadores de tendencias súper y MACD permite capturar de manera efectiva las oportunidades de tendencias en el mercado.
  2. Dinámica de cambio de posición: la estrategia se ajusta a la dirección de la posición en función de la dinámica de los cambios en los indicadores para adaptarse a los cambios en el mercado.
  3. Control de riesgo: La estrategia permite un mejor control del riesgo a través de posiciones cerradas de tiempo fijo y cambios dinámicos en el espacio.
  4. Flexibilidad de los parámetros: los parámetros de la estrategia (como el ciclo ATR, los factores, etc.) se pueden ajustar según las características del mercado y las preferencias personales, con cierta flexibilidad.

Riesgo estratégico

  1. Riesgo de fracaso del indicador: en ciertos entornos de mercado, los indicadores MACD y los indicadores de tendencia súper pueden emitir señales erróneas que pueden provocar el fracaso de la estrategia.
  2. Riesgo de optimización de parámetros: el rendimiento de la estrategia depende de la elección de los parámetros, y los parámetros inadecuados pueden causar un mal rendimiento de la estrategia.
  3. Riesgo de stop loss: La estrategia no tiene una lógica de stop loss clara, lo que puede dar lugar a grandes pérdidas en condiciones extremas de mercado.
  4. Riesgo nocturno: aunque la estrategia se extingue durante el día, existe el riesgo de una brecha nocturna cuando se abre una posición durante la noche.

Dirección de optimización

  1. Aumentar la lógica de stop loss: Incorporar una lógica de stop loss clara en la estrategia, como el stop loss porcentual fijo o el stop loss ATR, para controlar aún más el riesgo.
  2. Optimización de parámetros: optimización de los parámetros clave de la estrategia, como el ciclo ATR, los factores y los parámetros MACD, para mejorar la estabilidad y la rentabilidad de la estrategia.
  3. Filtración de señales: Añade más condiciones de filtración de señales, como brechas de precios, volumen de transacciones, etc., para mejorar la fiabilidad de la señal.
  4. Prueba multimercado: prueba de la estrategia en diferentes mercados y variedades para evaluar su aplicabilidad y estabilidad.

Resumir

La estrategia de equilibrio dinámico de la línea media y la super tendencia es una estrategia de negociación basada en el seguimiento de la tendencia y el juicio de la dinámica. Al combinar el indicador de la super tendencia con el indicador MACD, la estrategia puede ajustar dinámicamente la dirección de la posición para adaptarse a los cambios en el mercado y capturar oportunidades de tendencia.

Sin embargo, la estrategia también presenta algunos riesgos y deficiencias, como el riesgo de falla de indicadores, el riesgo de optimización de parámetros, el riesgo de parada, etc. Para perfeccionar aún más la estrategia, se puede considerar agregar lógica de parada, optimizar parámetros, agregar más condiciones de filtración de señales y probar en varios mercados, etc.

En general, la estrategia de equilibrio dinámico multi-espacio diaria combinada con la línea de mediano y la tendencia súper ofrece una forma de seguir la tendencia y controlar el riesgo. En la aplicación práctica, los comerciantes deben combinar sus propias preferencias de riesgo y las características del mercado para ajustar y optimizar la estrategia de manera adecuada y usarla con prudencia.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © smj31071995

//@version=5
strategy("EQ - INTRA - Samsuga supertrend prod", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_every_tick = false)


atrPeriod = input.int(7,    "ATR Length", minval = 1)
factor =    input.float(1.0, "Factor",     minval = 0.01, step = 0.01)
st_tf = "3"
macd_tf="30"

[supertrend, direction] =request.security(symbol = syminfo.tickerid, timeframe = st_tf,expression =  ta.supertrend(factor, atrPeriod),lookahead=barmerge.lookahead_on)

supertrend := barstate.isfirst ? na : supertrend
upTrend =    plot(direction <= 0 ? supertrend : na, "Up Trend",   color = color.green, style = plot.style_linebr)
downTrend =  plot(direction <= 0 ? na : supertrend, "Down Trend", color = color.red,   style = plot.style_linebr)
bodyMiddle = plot(barstate.isfirst ? na : (open + close) / 2, "Body Middle",display = display.none)
longcondition = direction[1] > direction 
shortCondition = direction[1] < direction 

macdp1 = 2
macdp2=8
macdp3=4

[macdLine, signalLine, histLine] =request.security(symbol = syminfo.tickerid, timeframe = macd_tf,expression = ta.macd(close,macdp1,macdp2,macdp3),lookahead=barmerge.lookahead_on)
// log.info(str.tostring(syminfo.tickerid)+str.tostring(histLine[0]))
timezone_input = input("Asia/Kolkata", title="Timezone")
// log.info(timezone_input)
if(hour==15 and minute==15)
    strategy.close_all(comment = "DAY EXIT",alert_message = "X-D")
else if(hour==9 and minute==30)
    if(longcondition or histLine[1]>0)
        strategy.entry(id= "Long", direction=strategy.long,  comment = "DL",alert_message = "L")
    else if(shortCondition or histLine[1]<0) 
        strategy.entry(id= "Short", direction=strategy.short,  comment = "DS",alert_message = "S")
else
    if(longcondition)
        strategy.close("Short",comment = "X-S", alert_message = "X-S")
        if(histLine[1]>0)    
            strategy.entry(id= "Long", direction=strategy.long,  comment = "L",alert_message = "L")
    else if(shortCondition) 
        strategy.close("Long",comment = "X-L",alert_message = "X-L")
        if(histLine[1]<0)    
            strategy.entry(id= "Short", direction=strategy.short,  comment = "S",alert_message = "S")


// plot(macdLine,   title = "MACD",   color = #2962FF)
// plot(signalLine, title = "Signal", color = #FF6D00)
// 8, 21, 5
// 8,13,9
// 12,26,9
//  1--> 3, 17, 5
// 3, 10, 16
// log.info(str.tostring(syminfo.tickerid)+str.tostring(histLine[0]))
//  /////////----------------METHOD 1-----------------////////////////
// if(longcondition)
//     if(strategy.opentrades>0)
//         strategy.close("Long","Prev Exit", immediately = true)
//     if( histLine[0] > 0.1)
//         strategy.entry(id= "Long", direction=strategy.long,  comment = "update long")

    
// else if(shortCondition and strategy.openprofit<=0.1) 
//     strategy.close("Long",comment = "Close",immediately = true)
//  /////////----------------METHOD 2-----------------////////////////
// if(longcondition)
//     if(histLine[0] > 0)
//         strategy.entry(id= "Long", direction=strategy.long,  comment = "update long" )
//         strategy.exit("Long", loss = close*0.2)


    
// else if(shortCondition ) 
//     strategy.close("Long",comment = "Close",immediately = true)
//  /////////----------------METHOD 3-----------------////////////////