Puntos de inflexión Breakouts Estrategia a largo plazo

El autor:¿ Qué pasa?, Fecha: 2024-02-18 09:57:11
Las etiquetas:

img

Resumen general

La estrategia de Swing Points Breakouts es una estrategia de fluctuación de tendencia a largo plazo basada en la identificación de altas y bajas oscilaciones.

Estrategia lógica

La estrategia define el precio más alto y el precio más bajo de la barra N más reciente como el swing high y swing low a través de los parámetros de entrada. Determina la entrada y salida en función del parámetro de dirección. Cuando se va largo, entra en posiciones largas con una orden de parada OCO cuando los precios rompen el swing high. Cuando se va corto, entra en posiciones cortas con una orden de parada OCO cuando los precios rompen el swing low.

Además, la estrategia establece stop losses. Después de abrir posiciones largas, el stop loss se establece cerca del precio más bajo reciente. Después de abrir posiciones cortas, el stop loss se establece cerca del precio más alto reciente. Esto evita efectivamente grandes pérdidas en un mercado de tendencia.

Análisis de ventajas

La mayor ventaja de esta estrategia es que captura las fluctuaciones clave en torno a los máximos y mínimos del swing y las ganancias en consecuencia.

En concreto, las ventajas son las siguientes:

  1. La lógica de la estrategia es clara, con entradas y salidas basadas en breakouts altas/bajas.

  2. Utiliza altas/bajas de oscilación para identificar oportunidades de reversión, un enfoque clásico de análisis técnico.

  3. Hay paradas de pérdidas establecidas para controlar los riesgos y evitar grandes pérdidas en los mercados de tendencia.

  4. El código tiene una estructura clara y es fácil de entender y modificar.

  5. Los parámetros se pueden ajustar para optimizar la estrategia, como ajustar el período de swing alto / bajo.

Análisis de riesgos

El principal riesgo de esta estrategia proviene de la identificación inexacta de los altos/bajos de los movimientos que conduce a operaciones erróneas.

  1. Falsa ruptura de los máximos/ mínimos de los movimientos que resulta en entradas erróneas.

  2. Un enorme stop loss alcanzado cerca de los puntos de escape.

  3. Los símbolos de tendencia tienden a necesitar enormes costos para determinar los puntos de giro.

  4. El ajuste incorrecto de parámetros también afecta el rendimiento de la estrategia.

Las soluciones incluyen:

  1. Optimizando parámetros como el período de swing alto/bajo.

  2. Aumento de la distancia de pérdida de parada.

  3. Evitar usarlo en los símbolos de tendencia.

  4. Adopción de aprendizaje automático para optimizar dinámicamente los parámetros.

Direcciones de optimización

La estrategia se puede optimizar en las siguientes direcciones:

  1. Optimización dinámica de los períodos de oscilación alto/bajo en lugar de valores fijos para evitar el sobreajuste.

  2. Introducción de un stop loss/take profit dinámico basado en ATR y volatilidad.

  3. Combinando marcos de tiempo múltiples, utilizando TF más altos para definir la tendencia y TF más bajos para la entrada.

  4. Incorporar modelos de aprendizaje automático para predecir posibles puntos de inflexión y mejorar el rendimiento.

  5. Optimización de los algoritmos de stop loss para evitar golpes innecesarios mientras se mantiene un stop loss efectivo.

Conclusión

La estrategia de Swing Points Breakouts es una estrategia cuantitativa práctica a largo plazo en general. Al capturar oportunidades de reversión alrededor de los puntos de swing y establecer stop losses para controlar los riesgos, asegura ganancias mientras también controla los drawdowns. Con un ajuste flexible de parámetros y una lógica clara, es un paradigma de estrategia recomendado que vale la pena utilizar.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tweakerID

// Long term strategy for managing a Crypto investment with Swing Trades of more than 1 day. The strategy buys with a 
// stop order at the Swing High price (green line) and sells with a stop order at the Swing Low price (red line). 
// The direction of the strategy can be adjusted in the Inputs panel.

//@version=4
strategy("Swing Points Breakouts", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, commission_value=0.04)

direction = input(0, title = "Strategy Direction", type=input.integer, minval=-1, maxval=1)
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))

//Inputss
i_SL=input(true, title="Use Swing Lo/Hi Stop Loss & Take Profit")
i_SwingLow=input(10, title="Swing Low Lookback")
i_SwingHigh=input(10, title="Swing High Lookback")
i_reverse=input(false, "Reverse Trades")
i_SLExpander=input(defval=0, step=1, title="SL Expander")

//Strategy Calculations
SwingLow=lowest(i_SwingLow)
SwingHigh=highest(i_SwingHigh)

//SL & TP Calculations
bought=strategy.position_size != strategy.position_size[1]
LSL=valuewhen(bought, SwingLow, 0)-((valuewhen(bought, atr(14), 0)/5)*i_SLExpander)
SSL=valuewhen(bought, SwingHigh, 0)+((valuewhen(bought, atr(14), 0)/5)*i_SLExpander)
islong=strategy.position_size > 0
isshort=strategy.position_size < 0
SL= islong ? LSL : isshort ? SSL : na

//Entries and Exits
strategy.entry("long", true, stop=i_reverse?na:SwingHigh, limit=i_reverse?SwingLow:na)
strategy.entry("short", false, stop=i_reverse?na:SwingLow, limit=i_reverse?SwingHigh:na)

if i_SL
    strategy.exit("longexit", "long", stop=LSL)
    strategy.exit("shortexit", "short", stop=SSL)

//Plots
plot(i_SL ? SL : na, color=color.red, style=plot.style_cross, title="SL")
plot(SwingLow, color=color.red)
plot(SwingHigh, color=color.green)


Más.