
La estrategia utiliza un método de ruptura de canal de oscilación dinámica para determinar los puntos de entrada y parada en función de los cambios dinámicos en el precio. La estrategia es simple y fácil de entender, adecuada para operar con acciones de tendencia.
La estrategia primero calcula los máximos y mínimos de los 20 días y obtiene el canal de oscilación dinámica. Luego se calcula el promedio móvil del índice de 8 días y el promedio móvil del índice de 32 días.
En concreto, las condiciones para la introducción de la estrategia son las siguientes:
El cierre de la bolsa ha superado los máximos de los últimos 20 días y se ha puesto en marcha.
El promedio de 8 días es superior al promedio de 32 días.
Las condiciones de salida de la estrategia son:
Pérdidas por debajo de la línea media del canal
8 días bajo la línea promedio y 32 días en la línea promedio.
La estrategia utiliza canales dinámicos para determinar la dirección de la tendencia, y al mismo tiempo ayuda a determinar que la línea media se encuentra actualmente en una tendencia alcista, lo que permite controlar el riesgo de manera efectiva.
Se puede optimizar la estrategia y controlar el riesgo ajustando los parámetros del ciclo de la vía, el parámetro del ciclo de la línea media, y el ajuste razonable del stop loss.
La estrategia de ruptura de la oscilación dinámica es clara y fácil de entender, determina la dirección de la tendencia con canales dinámicos y luego utiliza el efecto de filtración uniforme para entrar en el mercado. La configuración de stop loss puede controlar el riesgo de manera efectiva.
/*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")