La estrategia de ruptura del canal de Dongguan es una estrategia de trading cuantificada de seguimiento de tendencias. La estrategia utiliza el canal de Dongguan para capturar las tendencias del mercado, al mismo tiempo que utiliza el ATRSL para controlar el riesgo.
donLength
El cálculo de los parámetros en el pasadodonLength
El precio más alto y el precio más bajo de cada ciclo, respectivamente, como trayectoria del canal DongjiandonUpper
y debajo de las víasdonLower
La línea media del pasillodonBasis
El valor promedio para subir y bajar de un tren.AP2
yAF2
Parámetros para calcular el valor de ATRSL2
El precio de cierre es el precio de cierre actual.SC
Y el precio de parada móvil anteriorTrail2[1]
La relación, el ajuste dinámico de los precios de parada móvilTrail2
。donLength
、AP2
yAF2
Los parámetros iguales optimizan el rendimiento de las estrategias.La estrategia de ruptura del canal de Dongguan es una estrategia clásica de seguimiento de tendencias, que captura tendencias a través del canal de Dongguan y utiliza ATRSL para controlar el riesgo de pérdidas móviles. Las ventajas de esta estrategia son que la lógica es simple, clara y fácil de implementar y optimizar; las desventajas son que se desempeña peor en mercados turbulentos y reversiones de tendencias, y la configuración de parámetros tiene un gran impacto en el rendimiento de la estrategia. En aplicaciones prácticas, se pueden agregar módulos como filtro de tendencias, optimización de pérdidas y gestión de posiciones sobre la base de la estrategia original, para mejorar la estabilidad y la rentabilidad de la estrategia. Al mismo tiempo, se debe prestar atención a controlar la frecuencia y el costo de las transacciones y ajustar flexiblemente los parámetros de la estrategia según las características del mercado y las preferencias de riesgo propias.
/*backtest start: 2023-03-16 00:00:00 end: 2024-03-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Stock Trend USE THIS", overlay = true) donLength = input(100, minval=1) //Donchian Long donLower = lowest(donLength) donUpper = highest(donLength) donBasis = avg(donUpper,donLower) // ATRSL SC = close // Slow Trail // AP2 = input(10, title="Slow ATR period") // ATR Period AF2 = input(3, title="Slow ATR multiplier") // ATR Factor SL2 = AF2 * atr(AP2) // Stop Loss Trail2 = 0.0 iff_3 = SC > nz(Trail2[1], 0) ? SC - SL2 : SC + SL2 iff_4 = SC < nz(Trail2[1], 0) and SC[1] < nz(Trail2[1], 0) ? min(nz(Trail2[1], 0), SC + SL2) : iff_3 Trail2 := SC > nz(Trail2[1], 0) and SC[1] > nz(Trail2[1], 0) ? max(nz(Trail2[1], 0), SC - SL2) : iff_4 // Long and Short Conditions longCondition = (crossover(close,donUpper[1])) // Close Conditions closeLongCondition = crossunder(close,Trail2) // Strategy logic if (longCondition) strategy.entry("Long", strategy.long) alert("Open Long position") if (closeLongCondition) strategy.close("Long") alert("Close Long position") // Plot Donchian l = plot(donLower, color=color.blue) u = plot(donUpper, color=color.blue) plot(donBasis, color=color.orange) fill(u, l, color=color.blue) plot(Trail2, color=color.blue, title="ATRSL Trail")