La stratégie de trading quantitative de Donchian basée sur la percée du canal des prix


Date de création: 2023-12-08 11:00:05 Dernière modification: 2023-12-08 11:00:05
Copier: 0 Nombre de clics: 655
1
Suivre
1621
Abonnés

La stratégie de trading quantitative de Donchian basée sur la percée du canal des prix

Aperçu

L’idée centrale de cette stratégie est de faire des opérations de vente et d’achat en fonction des ruptures de prix dans le canal de la tangjian, une stratégie quantitative de type suivi de tendance. Elle permet d’identifier automatiquement les canaux de prix, d’ouvrir des positions plus élevées lorsque les prix franchissent le canal et de faire des positions plus faibles lorsque les prix reviennent vers le bas du canal, près ou au point d’arrêt.

Le principe

La stratégie est basée sur l’indicateur de la voie de Dongxian, la voie de Dongxian est la zone de la voie tracée par le prix le plus élevé et le prix le plus bas d’une période donnée. La méthode de calcul est:

En orbite = prix le plus élevé de près de n cycles En bas de la trajectoire = le prix le plus bas de près de n cycles

La stratégie ne prend en compte que les cas de rupture de la trajectoire ascendante.

La logique de l’opération est la suivante:

  1. Tracez la mise en route de la voie de Dongjian en utilisant le prix le plus élevé de n cycles
  2. Il y a un risque que le cours de la bourse s’effondre et que le cours de la bourse s’effondre.
  3. La méthode de stop-loss est utilisée pour ramener le cours de clôture à la position de stop-loss près de la voie descendante ou à un point de stop-loss défini.

Les avantages

Cette stratégie présente les avantages suivants:

  1. La stratégie est claire, facile à comprendre et à mettre en œuvre
  2. L’indicateur du canal de Dongxian est mature et fiable, il est facile de juger de la direction de la tendance
  3. Le réseau de télécommunications de l’Afrique du Sud (Afrique du Sud) est en train de se développer.
  4. Paramètres configurables et adaptatifs
  5. Il contient des mécanismes de stop-loss qui limitent les pertes.

Les risques

Cette stratégie comporte aussi des risques:

  1. Le canal de Dongcheng pourrait être brisé et entraîner des pertes inutiles
  2. Une mauvaise position de stop loss peut augmenter les pertes
  3. Attention au risque de renversement en approchant le passage
  4. Des paramètres incorrects (longueur de cycle, etc.) peuvent affecter l’efficacité de la stratégie

La réponse:

  1. En combinaison avec d’autres indicateurs, le filtrage est plat et faux.
  2. Optimisation de la position d’arrêt et de sortie en douceur
  3. Envisager d’augmenter le volume des transactions ou d’élargir la portée des arrêts près de la passerelle
  4. Tester différents paramètres pour trouver le meilleur

Direction d’optimisation

La stratégie peut également être optimisée dans les domaines suivants:

  1. Ajout d’autres indicateurs de jugement pour éviter une fausse rupture, tels que MACD, KD, etc.
  2. Optimisation des mécanismes de stop-loss, tels que le stop-loss mobile avec les fluctuations des prix
  3. Optimisation des contrôles de participation, par exemple en ne négociant que lorsque la volatilité augmente
  4. Optimisation des paramètres, recherche de la combinaison optimale de paramètres

Résumer

L’idée générale de la stratégie est claire, facile à comprendre et à mettre en œuvre. Elle utilise des indicateurs de la voie de Tongan pour identifier automatiquement la direction de la tendance. La configuration est flexible et peut être ajustée en fonction des besoins réels.

Code source de la stratégie
/*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])