Stratégie de trading des canaux de Donchian
Aperçu
La stratégie de trading basée sur le canal de volatilité de Donchian calcule un canal à partir des prix les plus hauts et les plus bas sur une période donnée pour déterminer la tendance actuelle des prix, et effectue des transactions longues et courtes lors des ruptures de canal. Cette stratégie convient aux actions et aux crypto-monnaies à forte volatilité.
Principe de la stratégie
La stratégie construit un canal en calculant le prix le plus haut (pcmax) et le prix le plus bas (pcmin) sur la période last(history). Les bandes supérieure et inférieure du canal sont calculées comme suit :
Bande supérieure yh = pcmax - (pcmax - pcmin) * (100 - percentDev) / 100
Bande inférieure yl = pcmin + (pcmax - pcmin) * percentDev / 100
où percentDev vaut par défaut 13.
Lorsque le prix franchit la bande supérieure, un signal long est généré ; lorsqu'il franchit la bande inférieure, un signal court est généré.
La génération des signaux de trading spécifiques est déterminée comme suit :
- boundup = high > yh : vérifie si le prix franchit la bande supérieure
- bounddn = low < yl : vérifie si le prix franchit la bande inférieure
- upsign = sma(bounddn, 2) == 1 : utilise la moyenne mobile de bounddn pour détecter une rupture soutenue de la bande inférieure
- dnsign = sma(boundup, 2) == 1 : utilise la moyenne mobile de boundup pour détecter une rupture soutenue de la bande supérieure
- exitup = dnsign : le franchissement de la bande supérieure génère un signal de clôture
- exitdn = upsign : le franchissement de la bande inférieure génère un signal de clôture
- if upsign : le franchissement de la bande inférieure génère un signal d'achat (long)
- if dnsign : le franchissement de la bande supérieure génère un signal de vente (short)
La stratégie définit également des heures de début et de fin de transaction pour éviter les positions overnight inutiles.
Avantages de la stratégie
- Utilise le canal de Donchian pour déterminer la tendance, avec de bons résultats en backtest
- Définit à la fois des signaux longs et courts, permettant un trading bidirectionnel
- Filtre les signaux via une moyenne mobile pour éviter les erreurs de trading
- Permet de choisir un mode de stop-loss pour contrôler le risque
- Définit des heures de début et de fin de transaction pour éviter le risque de positions overnight
Risques de la stratégie
- Le canal de Donchian est sensible aux paramètres history et percentDev, qui doivent être optimisés pour s'adapter aux différents actifs
- Peut générer des faux signaux en marché range (oscillant)
- Ne prend pas en compte la gestion des ordres, ce qui peut affecter la rentabilité en live
- Ne prend pas en compte la gestion de la taille des positions, ce qui peut entraîner un risque de surexposition en live
- Ne prend pas en compte la gestion du capital, ce qui nécessite une allocation appropriée des fonds en live
Pistes d'optimisation
- Optimiser les paramètres history et percentDev pour mieux les adapter aux différents actifs
- Ajouter des filtres pour éviter les faux signaux en marché range
- Intégrer un module de gestion de la taille des positions pour contrôler le pourcentage de capital alloué par transaction
- Intégrer un module de gestion du capital pour limiter le pourcentage de capital total utilisé
- Ajouter une fonctionnalité de gestion des ordres pour optimiser les modes de passation
Conclusion
La stratégie de trading basée sur le canal de volatilité de Donchian utilise les ruptures de canal pour déterminer la tendance et générer des signaux de trading. Elle donne de bons résultats en backtest et permet un trading bidirectionnel. Cependant, elle présente certains risques qui nécessitent une optimisation des paramètres, des filtres, de la gestion des positions, du capital et des ordres pour assurer une rentabilité stable en live. Dans l'ensemble, il s'agit d'une stratégie de suivi de tendance relativement traditionnelle qui, après amélioration, peut devenir une stratégie de trading quantitatif fiable.
/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
////////////////////////////////////////////////////////////
// Copyright by AlexInc v1.0 02/07/2018 @aav_1980
// PriceChannel strategy
// If you find this script helpful, you can also help me by sending donation to - 1

