Les ressources ont été chargées... Je charge...

Stratégie de négociation de rupture de Donchian

Auteur:ChaoZhang est là., Date: 2024-04-29 14:56:35 Je vous en prie.
Les étiquettes:

img

Résumé

La stratégie de trading de rupture de Donchian est un système de trading basé sur l'indicateur du canal de Donchian. L'idée principale de cette stratégie est de capturer les tendances du marché en franchissant les bandes supérieures et inférieures du canal de Donchian, et d'utiliser un ratio de risque-récompense (RR) fixe pour prendre profit et arrêter la perte. Lorsque le prix dépasse la bande supérieure du canal de Donchian et crée un nouveau sommet par rapport à la période du canal de Donchian, il va long; lorsqu'il dépasse la bande inférieure et crée un nouveau bas, il va court.

Principe de stratégie

  1. Calcul du canal de Donchian: sur la base de la période de canal de Donchian définie (par défaut 20), calculer les prix les plus élevés et les plus bas au cours de cette période comme les bandes supérieure et inférieure du canal de Donchian respectivement, et calculer le point médian des bandes supérieure et inférieure comme la bande moyenne du canal de Donchian.
  2. Déterminez si un nouveau haut / bas est créé: En faisant une boucle et en comparant les bandes supérieures et inférieures du canal de Donchian actuel avec les bandes supérieures et inférieures des quelques périodes précédentes, déterminez si un nouveau haut ou bas est créé par rapport à la période du canal de Donchian.
  3. Entrée de rupture: Lorsque le prix de clôture dépasse la bande supérieure bleue de Donchian, il entre dans une position longue; lorsqu'il dépasse la bande inférieure bleue de Donchian, il entre dans une position courte.
  4. Prenez profit et arrêtez la perte: lors de l'ouverture d'une position, enregistrez le prix d'entrée et le prix actuel de la bande moyenne du canal de Donchian, et calculez la différence de prix entre les deux.
  5. Position fermée: lorsque le prix atteint le prix de prise de profit ou de stop loss, la position est fermée.

Les avantages de la stratégie

  1. Convient pour les marchés en tendance: la stratégie Donchian Breakout permet d'entrer dans des positions en franchissant les bandes supérieures/inférieures, en suivant la direction de la tendance du marché, et présente de bonnes performances sur les marchés en tendance.
  2. Nouveau filtrage haut/bas: la stratégie filtre certains signaux sonores et les fausses éruptions en déterminant si un nouveau haut/bas est créé dans la période du canal de Donchian, améliorant ainsi la qualité des signaux d'entrée.
  3. Ratio de risque-rendement fixe: les positions de prise de profit et de stop-loss pour chaque transaction sont basées sur un ratio de risque-rendement fixe, ce qui rend le risque contrôlable et propice à la gestion de l'argent.
  4. Paramètres simples: les paramètres de stratégie sont relativement simples à définir, principalement la période du canal de Donchian et le ratio de risque-rendement, ce qui facilite l'optimisation et le contrôle.

Risques stratégiques

  1. Perte d'ampleur: La position stop loss de la stratégie est la bande moyenne du canal de Donchian.
  2. Commerce fréquent: si la période du canal de Donchian est trop courte, cela peut entraîner une ouverture et une fermeture fréquentes des positions, ce qui augmente les coûts de transaction.
  3. Réversion de tendance: lors d'un renversement de tendance, la stratégie peut subir plusieurs arrêts de perte consécutifs.
  4. Sensibilité aux paramètres: la performance de la stratégie est sensible aux paramètres et doit être optimisée en fonction des différentes caractéristiques du marché et des cycles de négociation.

Directions d'optimisation de la stratégie

  1. L'opérateur doit être en mesure d'évaluer la valeur de l'opération en fonction de l'évolution des prix, de la volatilité, etc., en utilisant par exemple l'ATR comme référence de stop loss pour réduire le risque de transaction unique.
  2. Filtrage de tendance: ajouter des indicateurs de jugement de tendance tels que des moyennes mobiles et n'ouvrir de positions que lorsque la direction de la tendance est claire pour améliorer la qualité du signal.
  3. Combiner avec d'autres indicateurs: combiner avec des indicateurs de dynamique tels que le RSI et le MACD pour évaluer de manière exhaustive le moment où les positions sont ouvertes.
  4. Gestion des positions: ajustement dynamique de la taille des positions en fonction de la force de la tendance du marché, de la volatilité, etc., afin de contrôler le risque global.
  5. Adaptation des paramètres: utiliser l'apprentissage automatique et d'autres méthodes pour optimiser adaptivement les paramètres.

Résumé

La stratégie de trading de rupture de Donchian est un système de trading de suivi des tendances basé sur l'indicateur classique du canal de Donchian. Elle ouvre des positions par des ruptures des bandes supérieures et inférieures du canal de Donchian et des jugements de nouveaux hauts / bas, avec prise de profit et arrêt de perte basé sur un ratio de risque/récompense fixe.


/*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)
//---------------------------------------------//

Plus de