Donchian Channels Breakout Stratégie de négociation quantitative

Auteur:ChaoZhang est là., Date: 2023-12-08 à 11h05
Les étiquettes:

img

Résumé

L'idée de base de cette stratégie est de prendre des décisions commerciales basées sur les écarts de prix des canaux Donchian. Elle appartient à la tendance suivante de type de stratégies quantitatives. Elle peut identifier automatiquement les canaux de prix. Lorsque les prix franchissent le rail supérieur du canal, des positions longues seront ouvertes. Lorsque les prix reculent près du rail inférieur du canal ou du point de stop loss, les positions seront fermées. Cette stratégie vise à capturer les tendances des prix à moyen et long terme et convient au trading algorithmique de produits financiers dérivés tels que les contrats à terme sur indices.

Principaux

Cette stratégie est basée sur l'indicateur Donchian Channels. Les canaux Donchian sont des canaux tirés par les prix les plus élevés et les plus bas au cours d'une période donnée.

Résultats de l'évaluation de la valeur ajoutée Lower Rail = Prix le plus bas au cours des n dernières périodes

Lorsque les prix franchissent le rail supérieur, on considère qu'une tendance longue a commencé. Lorsque les prix franchissent le rail inférieur, on considère qu'une tendance courte a commencé.

La logique de négociation spécifique est la suivante:

  1. Tracez le rail supérieur des canaux de Donchian en utilisant le prix le plus élevé au cours des n dernières périodes
  2. Lorsque le prix de clôture dépasse le niveau supérieur, allez long
  3. Prise de bénéfices par arrêt de traction lorsque le prix de clôture chute à nouveau près du rail inférieur ou à un point d'arrêt-perte prédéfini

Les avantages

Les avantages de cette stratégie sont les suivants:

  1. L'idée stratégique est claire et facile à comprendre et à mettre en œuvre
  2. Donchian Channels est un indicateur mature et fiable pour juger de la direction de la tendance
  3. Il identifie automatiquement les canaux sans interférence manuelle
  4. Les paramètres personnalisables le rendent très adaptable
  5. Il contient des mécanismes de stop loss pour limiter les pertes

Les risques

Il y a aussi des risques:

  1. Les canaux de Donchian pourraient avoir de fausses fuites, causant des pertes inutiles.
  2. Une position stop-loss incorrecte pourrait augmenter les pertes
  3. Faites attention aux risques d'inversion lorsque le prix est proche des rails du canal
  4. Des paramètres inadéquats pourraient avoir une incidence négative sur les performances de la stratégie

Les solutions:

  1. Ajouter des filtres en incorporant d'autres indicateurs pour éviter les fausses éruptions
  2. Optimiser le positionnement du stop loss pour des sorties fluides
  3. Envisager d' augmenter la taille de la position ou d' élargir la fourchette de bénéfices lorsque le prix est proche des rails du canal
  4. Testez différents paramètres pour trouver des valeurs optimales

Directions d'optimisation

Cette stratégie peut être encore optimisée dans les domaines suivants:

  1. Ajoutez d'autres indicateurs comme le MACD, le KD pour éviter de fausses ruptures
  2. Optimiser les mécanismes d'arrêt des pertes, par exemple le déplacement des arrêts des pertes
  3. Optimiser le contrôle des taux de participation, par exemple ne négocier que lorsque la volatilité augmente
  4. Optimisation des paramètres pour trouver la combinaison optimale

Résumé

L'idée générale de cette stratégie est claire et facile à comprendre et à mettre en œuvre. Elle utilise des canaux Donchian matures pour identifier automatiquement la direction de la tendance. La configuration est également très flexible pour répondre à différents besoins. Avec un stop loss et une optimisation des paramètres appropriés, de bons résultats peuvent être obtenus. En conclusion, cette stratégie a une courbe d'apprentissage faible mais une efficacité raisonnable.


/*backtest
start: 2022-12-07 00:00:00
end: 2023-12-07 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/
// © Giovanni_Trombetta

// Strategy to capture price channel breakouts

//@version=4
strategy("ChannelsBreakout", max_bars_back=50, overlay=true)

instrument = input(1, title = "Select 1: Stock/Forex, 2: Future")
money = input(10000, title = "Money for each trade")
backtest_start = input(2000, "Insert first year to backtest")
period = input(50, title = "Period in bars of Donchian Channel")
monetary_stoploss = input(1000, title = "Monetary Stop Loss")

quantity = if instrument != 1 
    1
else
    int(money / close)
    
upBarrier = highest(high,period)
downBarrier = lowest(low,period)
up = highest(high,period / 4)
down = lowest(low,period / 4)

plot(upBarrier, color=color.green, linewidth=2)
plot(downBarrier, color=color.red, linewidth=2)
plot(up, color=color.lime, linewidth=1)
plot(down, color=color.orange, linewidth=2)

longCondition = crossover(close, upBarrier[1]) and year >= backtest_start

if (longCondition)
    strategy.entry("Long", strategy.long, quantity, when = strategy.position_size == 0)

closeCondition = crossunder(close, down[1]) or down < down[1]

if (closeCondition)
    strategy.close("Long", comment = "Trailing")
    
stop_level = strategy.position_avg_price - monetary_stoploss / strategy.position_size
strategy.exit("StopLoss", from_entry = "Long", stop = stop_level)
plot(stop_level, color=color.yellow, linewidth=2)

// l = label.new(bar_index, na,
//   text="PineScript Code", color= color.lime, textcolor = color.white,
//   style=label.style_labelup, yloc=yloc.belowbar, size=size.normal)
// label.delete(l[1])

Plus de