Stratégie de trading de tortues basée sur une moyenne mobile simple


Date de création: 2023-12-29 16:45:51 Dernière modification: 2023-12-29 16:45:51
Copier: 2 Nombre de clics: 848
1
Suivre
1621
Abonnés

Stratégie de trading de tortues basée sur une moyenne mobile simple

Aperçu

Cette stratégie est utilisée pour calculer des moyennes mobiles simples de deux ensembles de paramètres différents et les utiliser comme signaux pour la création et la suppression de positions. La stratégie a été proposée pour la première fois par le trader américain Richard Dennis en 1983, pour obtenir des gains stables en s’appuyant sur des règles simples.

Principe de stratégie

La stratégie calcule simultanément deux ensembles de lignes rapides et lentes. Les paramètres de lignes rapides sont définis pour un cycle de placement de 20 jours et un cycle de placement de 10 jours. Les paramètres de lignes lentes sont définis pour un cycle de placement de 55 jours et un cycle de placement de 20 jours.

La stratégie repose sur la théorie de la courbe de la moyenne mobile. Lorsque la courbe de la moyenne courte est traversée par la moyenne longue, elle est considérée comme un signal de hausse des prix; lorsqu’elle est traversée, elle est considérée comme un signal de baisse des prix.

Avantages stratégiques

  1. Les règles sont simples, claires, faciles à comprendre et à mettre en œuvre, adaptées aux débutants;
  2. La construction et l’entretien des entrepôts doivent être clairement définis, afin d’éviter les échanges fréquents.
  3. La combinaison des doubles moyennes mobiles rapides et lentes permet d’atténuer le bruit des variations de prix et de produire un signal de transaction plus clair.
  4. L’utilisation d’une combinaison de plusieurs ensembles de paramètres permet de contrôler le risque et de prévenir les erreurs de transaction;
  5. Les bénéfices sont stables sur le long terme et ont été vérifiés sur le terrain.

Les risques et les solutions

  1. Les stratégies elles-mêmes sont mécanisées, ne permettent pas de juger des situations particulières et ont un plafond de profit.
    • Vous pouvez essayer d’introduire plus d’indicateurs ou des modèles d’aide à la décision basés sur l’apprentissage automatique.
  2. La moyenne mobile est un indicateur de référence qui est en retard;
    • Réduction appropriée du cycle de construction et de stockage
  3. Il n’y a pas de limite au maximum de retraits.
    • Un point de rupture réglable

Direction d’optimisation

  1. Ajout de module de stop-loss pour contrôler le retrait maximal
  2. Combinaison avec d’autres indicateurs pour filtrer le signal
  3. Ajustement dynamique des paramètres de la moyenne mobile
  4. Ajout d’un module de traitement des données pour supprimer les effets des données anormales
  5. Déterminer les tendances avec des modèles d’apprentissage automatique

Résumer

Cette stratégie est une stratégie typique de suivi de tendance. Elle repose sur une simple moyenne mobile double pour établir des règles de négociation et obtenir des gains stables en suivant les tendances du marché. La stratégie est facile à comprendre, à mettre en œuvre, à construire des signaux de position clairs, à vérifier les gains sur le terrain à long terme.

Code source de la stratégie
/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//coded by tmr0
//original idea from «Way of the Turtle: The Secret Methods that Turned Ordinary People into Legendary Traders» (2007) CURTIS FAITH
strategy("20 years old Turtles strategy by tmr0", shorttitle = "Turtles", overlay=true)

enter_fast = input(20, minval=1)
exit_fast = input(10, minval=1)
enter_slow = input(55, minval=1)
exit_slow = input(20, minval=1)

fastL = highest(enter_fast)
fastLC = lowest(exit_fast)
fastS = lowest(enter_fast)
fastSC = highest(exit_fast)

slowL = highest(enter_slow)
slowLC = lowest(exit_slow)
slowS = lowest(enter_slow)
slowSC = highest(exit_slow)

enterL1 = high > fastL[1]
exitL1 = low <= fastLC[1]
enterS1 = low < fastS[1]
exitS1 = high >= fastSC[1]

enterL2 = high > slowL[1]
exitL2 = low <= slowLC[1]
enterS2 = low < slowS[1]
exitS2 = high >= slowSC[1]


//bgcolor(exitL1 or exitL2? red: enterL1 or enterL2? navy:white)

strategy.entry("fast L", strategy.long, when = enterL1)
strategy.entry("fast S", strategy.short, when = enterS1)
strategy.close("fast L", when = exitL1)
strategy.close("fast S", when = exitS1)

strategy.entry("slow L", strategy.long, when = enterL2)
strategy.entry("slow S", strategy.short, when = enterS2)
strategy.close("slow L", when = exitL2)
strategy.close("slow S", when = exitS2)
//zl=0
//z=strategy.netprofit / 37 * koef  //ежемесячная прибыль
//z=strategy.grossprofit/strategy.grossloss
//z1=plot (z, style=line, linewidth=3, color = z>zl?green:red, transp = 30)
//hline(zl, title="Zero", linewidth=1, color=gray, linestyle=dashed)