Stratégie de trading de Donchian Breakout


Date de création: 2024-04-29 14:56:35 Dernière modification: 2024-04-29 14:56:35
Copier: 0 Nombre de clics: 701
1
Suivre
1617
Abonnés

Stratégie de trading de Donchian Breakout

Aperçu

La stratégie de rupture de Donchian est un système de négociation basé sur les indicateurs du canal de Donchian. L’idée principale de cette stratégie est de capturer les tendances du marché par des ruptures dans les trajectoires ascendantes et descendantes du canal de Donchian, et d’effectuer des arrêts de perte en utilisant un rapport de risque-bénéfice fixe (RR).

Principe de stratégie

  1. Calculer le canal Donchian: en fonction du cycle de canal Donchian défini ((20 par défaut), calculer le prix le plus élevé et le prix le plus bas de ce cycle, respectivement en haut et en bas du canal Donchian, et calculer le milieu du canal supérieur et inférieur en milieu du canal Donchian.
  2. Déterminer si un nouveau sommet ou une nouvelle basse a été créé: en faisant une comparaison cyclique entre les hauts et les bas de la trajectoire actuelle du canal Donchian et les hauts et les bas des cycles précédents, déterminer si un nouveau sommet ou une nouvelle basse a été créé par rapport à la période du canal Donchian. Si un nouveau sommet est créé, le haut du canal Donchian est affiché en bleu; si un nouveau bas est créé, le bas du canal Donchian est affiché en bleu.
  3. Ouverture de position de rupture: ouverture d’une position à plusieurs têtes lorsque la clôture du prix atteint le haut de la trajectoire bleue de Donchian, ouverture d’une position à vide lorsque la baisse de la trajectoire bleue de Donchian est atteinte. En d’autres termes, la rupture n’est valable qu’après avoir créé un nouveau haut / nouveau bas.
  4. Stop Loss: le prix d’ouverture et le prix moyen de la chaîne Donchian actuel sont enregistrés lors de l’ouverture de la position et l’écart entre les deux est calculé. La position Stop Loss est définie sur la chaîne Donchian, la position Stop Loss est calculée en fonction du rapport de risque / profit établi (default 5 fois) et de l’écart entre les deux.
  5. Placement à l’arrêt: Placement à l’arrêt lorsque le prix touche le prix d’arrêt ou de perte.

Avantages stratégiques

  1. Pour les marchés tendance: La stratégie de rupture Donchian consiste à ouvrir une position en rupture de piste supérieure/inférieure, à négocier en fonction de la direction de la tendance du marché et à bien se comporter dans des conditions de tendance.
  2. Filtration de nouveau haut/nouveau bas: stratégie permettant de filtrer certains signaux de bruit et de fausses percées, et d’améliorer la qualité des signaux d’ouverture en déterminant s’ils créent un cycle de nouveau haut/nouveau bas dans le canal Donchian.
  3. Résultats de risque/bénéfice fixes: les positions stop et stop-loss pour chaque transaction sont basées sur des résultats de risque/bénéfice fixes, les risques sont maîtrisés et favorisent la gestion des fonds.
  4. Les paramètres sont simples: les paramètres de stratégie sont plus simples à configurer, principalement pour le cycle de la voie Donchian et le rapport risque/rendement, et plus faciles à optimiser et à contrôler.

Risque stratégique

  1. Perte d’amplitude: la position de stop loss stratégique est la voie médiane du canal Donchian, où une perte importante d’une seule transaction peut survenir dans un contexte de tendance incertaine ou de choc.
  2. La fréquence des transactions: Si le cycle de Donchian est plus petit, cela peut entraîner une ouverture fréquente des positions blanches, augmentant les coûts de transaction.
  3. Retour de tendance: une stratégie peut avoir plusieurs arrêts de perte consécutifs au cours d’une période de retour de tendance.
  4. Sensitivité aux paramètres: la performance de la stratégie est sensible aux paramètres, ce qui nécessite une optimisation des paramètres en fonction des différentes caractéristiques du marché et des cycles de marché.

Orientation de l’optimisation de la stratégie

  1. Stop-loss dynamique: position de stop-loss ajustée en temps réel en fonction de l’évolution des prix et de la volatilité, par exemple en utilisant l’ATR comme référence de stop-loss, afin de réduire le risque de transaction unique.
  2. Filtrage des tendances: ajout d’indicateurs de jugement de tendances tels que les moyennes mobiles, ouverture de positions uniquement lorsque la direction de la tendance est claire, amélioration de la qualité du signal.
  3. Combinaison avec d’autres indicateurs: comme la combinaison avec les indicateurs de dynamique tels que le RSI, le MACD, l’évaluation globale du moment de la position.
  4. Gestion des positions: Adaptez la taille de vos positions en fonction de la dynamique des tendances du marché, de la volatilité, etc. et contrôlez le risque global.
  5. Adaptation des paramètres: utilisez des méthodes telles que l’apprentissage automatique pour adapter et optimiser les paramètres.

Résumer

La stratégie de rupture Donchian est un système de suivi des tendances basé sur l’indicateur classique du canal Donchian. La stratégie est logiquement simple et adaptée aux marchés tendanciels.

Code source de la stratégie
/*backtest
start: 2023-04-23 00:00:00
end: 2024-04-28 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/
// © Dillon_Grech
//---------------------------------------------//

//---------------------------------------------//
// Simple donchian channel break out strategy
// which only enters trades when price closes
// above donchian upper and creates new high 
// (long) or price closes below donchian lower
// and creates new low, relative to the donchian
// length. This is indicated by the donchian
// upper and lower color (blue). Stop loss is
// located at donchian basis and take profit
// is set at Risk Reward (RR) profit target.
//---------------------------------------------//
//@version=5
strategy("Donchian New High/Low Strategy [Dillon Grech]", overlay=true)

//---------------------------------------------//

//---------------------------------------------//
//INDICATOR 1 - Donchian New High Low Price Close
don_length = input.int(20, minval = 1)
don_lower  = ta.lowest(don_length)
don_upper  = ta.highest(don_length)
don_basis  = math.avg(don_upper, don_lower)

//loop
don_lower_upper  = true
don_higher_lower = true
for i = 0 to don_length - 1
    //Check for higher high over don_length
    if don_upper > don_upper[i]
        don_lower_upper := false
    //Check for lower low over don_length
    if don_lower < don_lower[i]
        don_higher_lower := false

//Plot
c_ora = color.orange
c_blu = color.blue
c_gra = color.gray
color_basis = c_ora
color_upper = don_lower_upper  ? c_blu : c_gra
color_lower = don_higher_lower ? c_blu : c_gra
plot(don_basis,     "Don Basis", color_basis, 2)
u = plot(don_upper, "Don Upper", color_upper, 2)
l = plot(don_lower, "Don Lower", color_lower, 2)

//Conditions
Ind_1_L = ta.crossover(close, don_upper[1]) and 
   don_lower_upper[1]
Ind_1_S = ta.crossunder(close,don_lower[1]) and 
   don_higher_lower[1]
//---------------------------------------------//

//---------------------------------------------//
//ENTRY CONDITIONS
entry_long  = strategy.position_size<=0 and
   Ind_1_L
entry_short = strategy.position_size>=0 and
   Ind_1_S

if(entry_long)
    strategy.entry("Long Entry", strategy.long)
if(entry_short)
    strategy.entry("Short Entry", strategy.short)
//---------------------------------------------/

//---------------------------------------------//
//TAKE PROFIT AND STOP LOSS CONDITIONS
profit_RR = input.float(5.0,"RR Profit Target")

//Store Price on new entry signal
entry_price = strategy.opentrades.entry_price(
   strategy.opentrades-1)

//Store Donchain Channel Basis
entry_don_basis = float(0.0)
if entry_long or entry_short
    entry_don_basis := don_basis
else
    entry_don_basis := entry_don_basis[1]

//Get stop loss distance
stop_distance = math.abs(entry_price -
   entry_don_basis)
stop_L   = entry_price - stop_distance
profit_L = entry_price + stop_distance*profit_RR
stop_S   = entry_price + stop_distance
profit_S = entry_price - stop_distance*profit_RR

//Plot TP and SL
plot(entry_long or entry_short ? na :
   strategy.position_size > 0 ? profit_L : na,
   color=color.lime, style=plot.style_linebr,
   linewidth=2)
plot(entry_long or entry_short ? na :
   strategy.position_size > 0 ? stop_L : na,
   color=color.red,  style=plot.style_linebr,
   linewidth=2)
plot(entry_long or entry_short ? na : 
   strategy.position_size < 0 ? profit_S : na,
   color=color.lime, style=plot.style_linebr,
   linewidth=2)
plot(entry_long or entry_short ? na :
   strategy.position_size < 0 ? stop_S : na,
   color=color.red,  style=plot.style_linebr,
   linewidth=2)

//Exit long trades
strategy.exit(id = 'Exit Long', 
   from_entry ='Long Entry', 
   stop = stop_L, limit = profit_L)
strategy.exit(id = 'Exit Short', 
   from_entry ='Short Entry', 
   stop = stop_S, limit = profit_S)
//---------------------------------------------//