Estrategia de comercio de tortugas de doble seguimiento

El autor:¿ Qué pasa?, Fecha: 2023-12-20 13:37:31
Las etiquetas:

img

Resumen general

Esta estrategia utiliza dos puntos de seguimiento de stop loss basados en las reglas de comercio de tortugas para limitar las pérdidas, mientras que establece diferentes parámetros para filtrar el ruido del mercado y entrar en tendencias más pronunciadas.

Estrategia lógica

La estrategia se basa principalmente en dos puntos de seguimiento de stop loss, long_1 y long_2, para determinar las señales de entrada. Long_1 sigue la tendencia a largo plazo mientras que long_2 sigue la tendencia a corto plazo. Profit1 y profit2 actúan como los puntos de stop loss.

Si el precio está por encima de long_1, el mercado está en una tendencia alcista a largo plazo. Si el precio cae por debajo de long_2, indica un retroceso a corto plazo que proporciona una buena oportunidad de entrada para ir largo. Si el precio está por debajo de long_1, no hay una tendencia a largo plazo confirmada. Pero si el precio supera long_2, indica un rebote a corto plazo y también puede tomar una posición larga.

Después de ingresar, se establecen dos pérdidas de detención de seguimiento: stoploss1 y stoploss2 y se comparan con el beneficio1 y el beneficio2 para tomar el valor máximo, con el fin de bloquear las ganancias.

Análisis de ventajas

  • El doble seguimiento del stop loss controla eficazmente los riesgos y bloquea los beneficios
  • La combinación de indicadores a largo y corto plazo elimina un poco de ruido e indica tendencias más pronunciadas.
  • Flexibilidad para ajustar el conservadurismo de la estrategia ajustando los parámetros

Análisis de riesgos

  • La estrategia es conservadora y podría perder algunas oportunidades.
  • La configuración incorrecta de stop loss puede provocar una salida prematura
  • Menos intercambios, así que una sola pérdida de comercio podría tener un gran impacto.

Puede hacer que la estrategia sea más agresiva ajustando los parámetros de largo y beneficio para más operaciones. También optimiza los algoritmos de stop loss para ajustes adaptativos.

Direcciones de optimización

  • Encuentre las combinaciones óptimas de parámetros para largo y beneficio
  • Experimentar con pérdidas de parada en zigzag o sombra para reducir las paradas innecesarias
  • Añadir más filtros de entrada para detectar tendencias más fuertes establecidas
  • Incorporar indicadores de volumen para detectar las rupturas reales

Resumen de las actividades

Esta es una estrategia general conservadora adecuada para los inversores que buscan un crecimiento constante. Al ajustar los parámetros y optimizar los algoritmos de stop loss, se puede aumentar la agresión.


/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Turtle Project",overlay= true)
//-----------------------------------------------------------
entry_1 =  input(55) 
profit_1 =  input(20)             

long_1 = float(na)                                                             
long_1:= if high[entry_1] >= highest(high,entry_1)                   
    high[entry_1]                                                            
else                                                                              
    long_1[1]                                                                   


profit1 = float(na)                                                            
profit1:= if low[profit_1] <= lowest(low,profit_1)                   
    low[profit_1]                                                            
else                                                                            
    profit1[1]                      
//-----------------------------------------------------------
entry_2 =  input(20) 
profit_2 =  input(10)             

long_2 = float(na)                                                             
long_2:= if high[entry_2] >= highest(high,entry_2)                   
    high[entry_2]                                                            
else                                                                              
    long_2[1]                                                                   


profit2 = float(na)                                                            
profit2:= if low[profit_2] <= lowest(low,profit_2)                   
    low[profit_2]                                                            
else                                                                           
    profit2[1]                      
//------------------------------------------------------------
stoploss_1= lowest(low,1) < long_1 and highest(high,1) > long_1
stoploss_2= lowest(low,1) < long_2 and highest(high,1) > long_2 

stop_1 = input(1)/100
stop_2 = input(2)/100

plotchar(stoploss_1, "high1", "▲",location.top,color=color.red )
plotchar(stoploss_2, "high2", "▲",location.top,color=color.blue)


//------------------------------------------------------------
if strategy.position_size == 0
    if low < long_1
        if high < long_1 
            strategy.entry("longlong_4",strategy.long, stop=long_1)

if strategy.position_size == 0    
    if low > long_1
        if high < long_2 
            strategy.entry("longlong_3",strategy.long, stop=long_2)

stoploss1 = float(na)
stoploss1:= stoploss_1 ? strategy.position_avg_price * (1 - stop_1) : stoploss1[1]
stoploss__1 = max(stoploss1,profit1)

if high > long_1 and strategy.position_size > 0
    strategy.exit("exit_1 ","longlong_4",stop=stoploss__1)

stoploss2 = float(na)
stoploss2:= stoploss_2 ? strategy.position_avg_price * (1 - stop_2) : stoploss2[1]
stoploss__2 = max(stoploss2,profit2)

if high > long_2 and strategy.position_size > 0
    strategy.exit("exit_2 ","longlong_3",stop=stoploss__2)
//--------------------------------------------------------------
plot(long_1,color=color.red ,linewidth=3)
plot(long_2,color=color.blue,linewidth=3)

plot(profit1,color=color.red,   linewidth=1)
plot(profit2,color=color.blue,  linewidth=1)

//plot(stoploss__1,style=plot.style_circles, color=color.yellow) 
//plot(stoploss__2,style=plot.style_circles, color=color.yellow) 

plot(stoploss1,style=plot.style_circles, color=color.blue) 
plot(stoploss2,style=plot.style_circles, color=color.red) 
//--------------------------------------------------------------

Más.