Estrategia de ruptura de oscilación dinámica

El autor:¿ Qué pasa?, Fecha: 2023-11-16 15:40:25
Las etiquetas:

img

Resumen general

Esta estrategia adopta una ruptura de canal de oscilación dinámica para determinar los puntos de entrada y parada de pérdida basados en el movimiento de los precios.

Estrategia lógica

La estrategia primero calcula el máximo más alto y el mínimo más bajo en los últimos 20 días para obtener un canal de oscilación dinámica. Luego calcula los promedios móviles exponenciales de 8 días y 32 días. Cuando el precio de cierre rompe la banda superior del canal y la EMA de 8 días está por encima de la EMA de 32 días, va largo. Cuando el precio rompe la banda inferior o la EMA de 8 días cruza por debajo de la EMA de 32 días, sale. La stop loss se establece por debajo de la banda media del canal.

En concreto, las condiciones de entrada son las siguientes:

  1. El precio de cierre rompe la banda dinámica superior formada por el máximo máximo en los últimos 20 días.

  2. La EMA de 8 días está por encima de la EMA de 32 días.

Las condiciones de salida son:

  1. Stop loss activado cuando el precio cae por debajo de la banda media.

  2. La EMA de 8 días se cruza por debajo de la EMA de 32 días.

La estrategia identifica la dirección de la tendencia utilizando el canal dinámico y el estado actual de la tendencia alcista utilizando el cruce EMA. Esto ayuda a controlar el riesgo.

Ventajas

  • La ruptura dinámica del canal identifica la dirección de la tendencia de manera efectiva, evitando los golpes.
  • Los filtros cruzados de EMA de 8 días y 32 días se negocian bien.
  • Reglas simples y claras, fáciles de entender.
  • Mecanismo razonable de detención de pérdidas.

Los riesgos

  • Una fuga fallida puede causar pérdidas.
  • Un ajuste incorrecto de los parámetros del rango de canales puede hacer que sea demasiado ancho o demasiado estrecho.
  • Los períodos EMA incorrectos pueden afectar al rendimiento.
  • El stop loss demasiado apretado puede causar paradas excesivas.

Los riesgos se pueden gestionar optimizando el período de canal, los períodos de EMA y el posicionamiento de stop loss.

Áreas de mejora

  • Optimizar el período de canalización para las diferentes poblaciones.
  • Prueba diferentes combinaciones de EMA para encontrar períodos óptimos.
  • Incorpore el volumen para confirmar las fugas.
  • Pérdida de rastro después de la entrada.

Resumen de las actividades

La estrategia de ruptura de oscilación dinámica tiene una lógica clara para identificar la tendencia y entrar en función de la ruptura del canal y el cruce de la EMA. El stop loss ayuda a controlar el riesgo. El ajuste de parámetros como el período del canal y los períodos de la EMA puede mejorar el factor de ganancia. Esta estrategia funciona bien para acciones con patrones de continuación, especialmente rompiendo máximos anteriores.


/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
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/
// © Robrecht99

//@version=5
strategy("My Strategy", overlay=true, margin_long=100, margin_short=100)

fast = ta.sma(close, 8)
slow = ta.sma(close, 32)

plot(fast, color=color.red)
plot(slow, color=color.navy)

entrycondition1 = ta.crossover(fast, slow)
entrycondition2 = fast > slow
sellcondition1 = ta.crossunder(fast, slow)
sellcondition2 = slow > fast

atr = ta.atr(14)

//Donchian Channels
days = 20
h1 = ta.highest(high[1], days)
l1 = ta.lowest(low[1], days)
mid = math.avg(h1, l1)
plot(mid, "channel", color=#FF6D00)
u = plot(h1, "Upper", color=#2962FF)
l = plot(l1, "Lower", color=#2962FF)
fill(u, l, color.new(color.blue, 90))

if (close > h1 and entrycondition2)
    strategy.entry("long", strategy.long)
    stoploss = close - atr * 3
    trail = close - atr * 3
    strategy.exit("exit", "long", stop=stoploss, trail_offset=trail)
if (sellcondition1 and sellcondition2)
    strategy.close(id="long")


Más.