Stratégie de rupture du canal de Donchian

Auteur:ChaoZhang est là., Date: 2023-12-04 14:16:33 Je vous en prie.
Les étiquettes:

img

Résumé

La stratégie de rupture du canal de Donchian est une action et une tendance de prix suivant une stratégie de négociation de rupture.

La logique de la stratégie

La logique de base de cette stratégie est la suivante:

  1. Utilisez les fonctions Ta.highest et Ta.lowest pour calculer le plus haut et le plus bas bas au cours d'une certaine période (par exemple 60 bar) pour construire les bandes supérieure et inférieure du canal de Donchian.

  2. Lorsque les prix dépassent la bande supérieure, cela indique qu'une tendance haussière peut commencer, alors allez long à la prochaine barre ouverte après la rupture de la bande supérieure.

  3. Une fois que les prix tombent en dessous de la fourchette supérieure ou remontent au-dessus de la fourchette inférieure, cela indique un renversement de tendance, donc aplatissez les positions longues ou courtes existantes.

  4. Pour contrôler les risques, définissez un stop loss au prix d'entrée moins/plus un tick minimum après l'initiation des positions longues/courtes.

Ce type de stratégie de rupture de canal est simple et directe, en tenant compte à la fois de l'action des prix et de la tendance, facile à exécuter et stable.

Les avantages

Cette stratégie présente plusieurs avantages:

  1. La logique est claire, simple et facile à comprendre, avec une grande exécutabilité.

  2. L'utilisation du canal Donchian pour déterminer la direction de la tendance peut filtrer efficacement le bruit et identifier des signaux de rupture fiables.

  3. Un arrêt raisonnable des pertes après l'entrée peut bien contrôler les pertes d'une seule transaction.

  4. Quelle que soit la situation du marché, la stratégie peut se négocier avec la tendance une fois qu'une rupture valable se produit et attraper les grands mouvements potentiels.

  5. Très peu de paramètres, pas sujet à un surajustement, avec un grand espace de réglage et une grande plasticité.

Les risques

Cette stratégie comporte également certains risques:

  1. En tant que tendance suivant une stratégie, il ne peut pas attraper les mouvements d'inversion.

  2. Un stop-loss trop proche peut être arrêté par des fluctuations de prix à court terme.

  3. Un mauvais réglage de la longueur du canal augmente les probabilités de fausse rupture.

Quelques contre-mesures:

  1. Incorporer d'autres indicateurs pour identifier les potentiels retours en arrière, éviter de suivre aveuglément les tendances.

  2. Utilisez un arrêt raisonnable pour bloquer les bénéfices au lieu de vous en tenir à un arrêt initial.

  3. Testez différentes valeurs de paramètres pour trouver une combinaison optimale.

Directions d'optimisation

Il est possible d'optimiser davantage:

  1. Essayez une double stratégie de rupture de canal Donchian, une pour l'entrée et une pour le stop loss/profit taking.

  2. Il suffit d'effectuer des transactions après que la rupture dépasse un certain nombre de tiques pour filtrer les fausses ruptures.

  3. Ajoutez un filtre de volume ou de volatilité pour éviter de mauvaises transactions lorsque les prix fluctuent violemment.

  4. Essayez différentes stratégies de détention comme suivre la tendance ou inverser la moyenne en combinaison pour de meilleurs résultats.

  5. Ajouter des modules de gestion des risques pour limiter les pertes quotidiennes maximales, les retraits maximaux, etc.

Conclusion

En résumé, la stratégie de rupture de canal de Donchian est une stratégie très pratique de suivi de tendance à court terme. Elle identifie les changements de tendance potentiels par l'action des prix et utilise les ruptures de canal pour entrer dans les transactions. La logique est simple et facile à exécuter et peut obtenir des résultats décents sur divers marchés.


/*backtest
start: 2023-11-03 00:00:00
end: 2023-12-03 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// Step 1. Define strategy settings
strategy(title="Price action and breakout Channel Forexrn", overlay=true,
     pyramiding=0, initial_capital=100000,
     commission_type=strategy.commission.cash_per_order,
     commission_value=4, slippage=2)

dochLen = input.int(60, title="Price action and breackout Channel Forexrn")

// Position sizing inputs
usePosSize    = input.bool(true, title="Use Position Sizing?")
atrLen        = input.int(10, title="ATR Length")
atrRiskOffset = input.float(4, title="ATR Risk Offset Multiple", step=0.25)

maxRisk = input.float(2, title="Max Position Risk %", step=.25, 
     minval=0.25, maxval=15)
maxExposure = input.float(10, title="Max Position Exposure %", step=1, 
     minval=1, maxval=100)
marginPerc = input.int(10, title="Margin %", minval=1, maxval=100)

// Step 2. Calculate strategy values
upperband = ta.highest(high, dochLen)[1]
lowerband = ta.lowest(low, dochLen)[1]

// Calculate position size
riskEquity = (maxRisk * 0.01) * strategy.equity
riskTrade  = (ta.atr(atrLen) * atrRiskOffset) * syminfo.pointvalue

maxPos = ((maxExposure * 0.01) * strategy.equity) /
     ((marginPerc * 0.01) * (close * syminfo.pointvalue))

posSize = usePosSize ? math.min(math.floor(riskEquity / riskTrade), maxPos) : 1

// Step 3. Output strategy data
plot(upperband, color=color.green, linewidth=2, title="DoCh Upperband")
plot(lowerband, color=color.red, linewidth=2, title="DoCh Lowerband")

// Step 4. Determine trading conditions
tradeWindow  = true

tradeAllowed = tradeWindow and bar_index > dochLen

// Step 5. Submit entry orders
if tradeAllowed
    if strategy.position_size < 1
        strategy.entry("EL", strategy.long, qty=posSize,
             stop=upperband + syminfo.mintick)

    if strategy.position_size > -1
        strategy.entry("ES", strategy.short, qty=posSize,
             stop=lowerband - syminfo.mintick)

// Step 6. Submit exit orders
if not tradeWindow
    strategy.close_all()

Plus de