Stratégie de canal de capture de momentum


Date de création: 2023-12-20 15:46:40 Dernière modification: 2023-12-20 15:46:40
Copier: 0 Nombre de clics: 597
1
Suivre
1621
Abonnés

Stratégie de canal de capture de momentum

Aperçu

La stratégie de canal de capture de momentum est une variante basée sur le canal de Donchian. Elle se compose de la zone de prix le plus élevé, de la zone de prix le plus bas et d’une ligne de base qui sert de moyenne entre la zone de prix le plus élevé et la zone de prix le plus bas. Cette stratégie est très utile sur les périphériques et les périphériques de temps des variétés tendancielles.

Vous pouvez définir le mode d’opération en tant que multi vide ou en tant que multi tête.

Vous pouvez également définir un stop-loss fixe ou l’ignorer afin que la stratégie ne fonctionne que sur les signaux d’entrée et de sortie.

Principe de stratégie

La logique centrale de cette stratégie est basée sur l’indicateur des canaux donchiens. Les canaux donchiens sont composés de valeurs moyennes des prix les plus élevés, les plus bas et les plus bas de la période de 20 jours. La direction de la tendance et la possibilité d’un revirement sont déterminées en fonction de la trajectoire ascendante et descendante de la rupture des canaux.

Cette stratégie est une variante de la voie Donchienne. Elle se compose de la zone de prix le plus élevé, de la zone de prix le plus bas et d’une ligne de base qui sert de moyenne entre la zone de prix le plus élevé et la zone de prix le plus bas. La logique spécifique est la suivante:

  1. Calculer les prix maximaux et minimaux d’une période donnée en tant que canal d’arrivée et de départ
  2. Calculer la moyenne de la montée et de la descente de la voie comme base
  3. Faire plus quand le prix monte en flèche
  4. La tendance à la hausse des cours est à la hausse des cours à la baisse.
  5. Faire une pause lorsque le prix est en baisse (si la pause est permise)
  6. Le taux de change a été réduit à un niveau record de 2,5% en janvier.

L’avantage de cette stratégie est qu’elle permet de capturer efficacement la dynamique de la tendance des prix. En attendant que le prix se déclenche pour voir si la tendance est réelle, il est possible d’éviter les pertes inutiles causées par le bavardage.

Analyse des avantages

  1. Capturer le dynamisme des tendances des prix pour réaliser une croissance des bénéfices
  2. Pour éviter les faux sauts et réduire les pertes inutiles
  3. Les paramètres peuvent être ajustés de manière flexible pour différentes variétés
  4. Optionnel pour les opérations en plus ou en plein stock, pour répondre à des besoins différents
  5. Le système intégré de stop loss permet de contrôler efficacement les pertes individuelles

Analyse des risques

  1. Le fait de capturer la tendance augmente les pertes en cas de rupture
  2. Les paramètres de stop-loss sont trop lâches et les pertes individuelles peuvent s’étendre
  3. Une mauvaise configuration des paramètres peut entraîner des transactions fréquentes et augmenter les coûts de transaction
  4. Le signal de rupture a été estimé à un certain retard et pourrait avoir manqué le point d’entrée optimal.

La solution est simple:

  1. Choisissez avec prudence le ratio de stop-loss et laissez suffisamment de place à la tendance pour maîtriser les pertes.
  2. Augmentation des cycles de paramètres et diminution de la fréquence des transactions
  3. La fiabilité des signaux de tendance, combinée à d’autres indicateurs, permet de choisir le meilleur moment d’entrée

Direction d’optimisation

  1. L’intégration d’autres indicateurs pour déterminer le moment d’entrée
  2. Adaptation dynamique de la position d’arrêt
  3. Paramètres d’optimisation selon les caractéristiques de la variété
  4. Le taux de réussite des percées combinées à l’apprentissage automatique
  5. Ajout de logique de gestion de position

Résumer

La stratégie de capture de dynamique offre des opportunités de profit considérables en capturant les tendances des prix. Cependant, elle comporte également des risques et nécessite un ajustement approprié des paramètres pour le contrôle des risques. En optimisant continuellement la sélection des moments d’entrée et la logique de stop-loss, la stratégie peut devenir un très bon système de suivi des tendances.

Code source de la stratégie
/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
basePeriod: 15m
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/
// © QuantCT

//@version=4
strategy("Donchian Channel Strategy Idea",
         shorttitle="Donchian", 
         overlay=true,
         pyramiding=0,     
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=100, 
         initial_capital=1000,           
         commission_type=strategy.commission.percent, 
         commission_value=0.075)

// ____ Inputs

high_period = input(title="High Period", defval=10) 
low_period = input(title="Low Period", defval=10)
long_only = input(title="Long Only", defval=false)
slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0)
use_sl = input(title="Use Stop-Loss", defval=false)

// ____ Logic

highest_high = highest(high, high_period)
lowest_low = lowest(low, low_period)
base_line = (highest_high + lowest_low) / 2
    
enter_long = (close > highest_high[1])
exit_long = (close < base_line)
enter_short = (close < lowest_low[1])
exit_short = (close > base_line)

strategy.entry("Long", strategy.long, when=enter_long)
strategy.close("Long", when=exit_long) 
if (not long_only)
    strategy.entry("Short", strategy.short, when=enter_short)
    strategy.close("Short", when=exit_short) 
   
// ____ SL

sl_long = strategy.position_avg_price * (1- (slp/100))
sl_short = strategy.position_avg_price * (1 + (slp/100))
if (use_sl)
    strategy.exit(id="SL", from_entry="Long", stop=sl_long)
    strategy.exit(id="SL", from_entry="Short", stop=sl_short)
    
// ____ Plots

colors = 
 strategy.position_size > 0 ? #27D600 :
 strategy.position_size < 0 ? #E30202 :
 color.orange

highest_high_plot = plot(highest_high, color=colors)
lowest_low_plot = plot(lowest_low, color=colors)
plot(base_line, color=color.silver)
fill(highest_high_plot, lowest_low_plot, color=colors, transp=90)