La stratégie de rupture du canal de Donchian est une stratégie de trading quantitative qui suit les tendances. Elle utilise les canaux de Donchian pour capturer les tendances du marché tout en utilisant un arrêt de trail ATRSL pour gérer le risque. Lorsque le prix dépasse la bande supérieure du canal de Donchian, la stratégie entre en position longue; lorsque le prix tombe en dessous de la ligne d'arrêt de trail ATRSL, la stratégie ferme la position.
donLength
paramètre, calculer le plus haut plus haut et le plus bas plus bas du passédonLength
périodes comme la bande supérieuredonUpper
et bande inférieuredonLower
La ligne médiane est la ligne de démarcation de la ligne de démarcation de la ligne du canal de Donchian.donBasis
est la moyenne des bandes supérieure et inférieure.AP2
etAF2
paramètres, calculer la valeur ATRSL2
. Ensuite, ajustez dynamiquement le prix de l'arrêt de trailTrail2
selon la relation entre le prix de clôture actuelSC
et le prix d'arrêt de trailing précédentTrail2[1]
.donLength
, AP2
, etAF2
En ce qui concerne la mise en œuvre de la stratégie, les États membres doivent s'assurer que les mesures prises en vue de la mise en œuvre de la stratégie sont conformes à leurs besoins.La stratégie de rupture de canal de Donchian est une stratégie classique de suivi des tendances qui capture les tendances en utilisant les canaux de Donchian et gère le risque avec un arrêt de trail ATRSL. Les avantages de la stratégie incluent sa logique simple et claire, sa facilité de mise en œuvre et son potentiel d'optimisation. Cependant, ses inconvénients incluent une mauvaise performance lors de marchés agités et d'inversions de tendance, et un impact significatif des paramètres sur la performance de la stratégie. Dans l'application pratique, la stratégie peut être améliorée en ajoutant des filtres de tendance, en optimisant le stop loss et en incorporant des modules de dimensionnement de position pour améliorer la stabilité et la rentabilité.
/*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")